C# 泛型:逆变和协变详解
C# 逆变和协变是 .NET Framework 4.0 引入的新功能,用于泛型类型参数的类型转换。逆变和协变都是指泛型类型参数在继承关系中的变化。
协变 (Covariance):是指从派生类向基类的转换,也就是说泛型类型参数可以被替换成它的基类型或接口。例如,'IEnumerable
逆变 (Contravariance):是指从基类向派生类的转换,也就是说泛型类型参数可以被替换成它的派生类型或接口。例如,'Action
总的来说,协变和逆变是用来实现更加灵活的泛型类型参数转换的。在使用时需要注意,只有在满足一定条件下才能使用逆变和协变,否则会导致编译错误。
原文地址: https://www.cveoy.top/t/topic/mpdd 著作权归作者所有。请勿转载和采集!