我必须为下面的泛型类实现Equals方法。
public class SomeIdentifier<T>
{
public T Id { get; set; }
public String Name { get; set; }
public override bool Equals(object obj)
{
var other = obj as SomeIdentifier<T>;
if (other == null)
{
return false;
}
return Id == other.Id && Name == other.Name;
}
}
但我不允许比较Id == other.Id
因为两者都是T型。
我收到以下错误消息 *运营商&#39; ==&#39;不能应用于&#39; T&#39;类型的操作数。和&#39; T&#39; *
答案 0 :(得分:-2)
如果您知道T是引用类型,则可以在类定义中声明它:
public class SomeIdentifier<T> where T : class