我收到了这个错误:
从object
到System.IEquatable<object>
没有隐式引用转换。
当我尝试创建Generic类
时MyClass<T, V> where T : IEquatable<T>
将'type parameter'作为“object,object”:
MyClass<object, object> mc = new MyClass<object, object>(t, t)
和构造函数参数(t, t)
是其他类(Test t=new Test()
)的对象。
具有IEquatable<T>
约束的通用方法的类'Test':
public bool Equals<T, V>(T tp,V vp) where T : IEquatable<Test>
Generic类有
IEquatable<T>
约束。
答案 0 :(得分:0)
您在通用类签名中表明T
必须实施IEquatable<T>
,然后尝试将object
用作T
的类型参数。
你真的想要哪一个?您是否希望强制T
实现此接口?或者您想要使用几乎任何类型的T
?
对于第一种情况,使用object
以外的内容作为T
类型参数,或者删除第二种情况下的约束。