【发布时间】:2019-07-02 17:53:21
【问题描述】:
我有以下代码
public abstract class BaseEntity<TKey> : IIdentifiable<TKey>
{
public TKey Id { get; set; }
}
public interface IIdentifiable<TKey> where TKey : IEquatable<TKey>
{
TKey Id { get; set; }
}
这会在BaseEntity 上生成这个漂亮的错误消息
错误 CS0314 类型“TKey”不能用作类型参数“TKey” 在泛型类型或方法“IIdentifiable”中。没有 从 'TKey' 到的装箱转换或类型参数转换 'System.IEquatable'
我做错了什么?
【问题讨论】:
-
再次读取异常信息。现在写这个:
public abstract class BaseEntity<TKey> : IIdentifiable<TKey> where TKey : IEquatable<TKey> -
哦,是的。对不起。不过谢谢你的帮助