我有MyClass<T>
一些T
接口的类:
class MyClass<T> where T: IMyInterface
我编写了几个类,这些类MyClass
使用 的一些实现进行扩展IMyInterface
,例如:
class MySecondClass : MyClass<MyInterfaceImplementation>
为什么不允许MySecondClass
将实例分配给具有类型的变量?MyClass<IMyInterface>
MyClass<IMyInterface> x = new MySecondClass()
当我添加隐式转换时:
public static implicit operator MyClass<IMyInterface>(MySecondClass c) {
return c;
}
它开始工作。