C# 泛型的派生类型#
我有以下代码C# 泛型的派生类型#,c#,class,generics,interface,C#,Class,Generics,Interface,我有以下代码 interface IEncryption{} class EncryptionA : IEncryption {} class EncryptionHandler<T> where T: IEncryption{} class EncryptionMenu { public EncryptionMenu(EncryptionHandler<IEncryption> encryption){} } void main() { Encrypti
interface IEncryption{}
class EncryptionA : IEncryption {}
class EncryptionHandler<T> where T: IEncryption{}
class EncryptionMenu
{
public EncryptionMenu(EncryptionHandler<IEncryption> encryption){}
}
void main()
{
EncryptionMenu encryptionMenu = new EncryptionMenu(new EncryptionHandler<EncryptionA>()); // Error
}
interface-encyryption{}
类EncryptionA:encyryption{}
类EncryptionHandler,其中T:encyryption{}
类加密菜单
{
公共加密菜单(EncryptionHandler encryption){}
}
void main()
{
EncryptionMenu EncryptionMenu=new EncryptionMenu(new EncryptionHandler());//错误
}
我明白了
参数类型“EncryptionHandler关于c#了解协变。类不能是协变的。