我正在阅读 C# 中的Covarianceand Contravariance。
据我了解,
如果我们有一个类Animal和一个派生类Cat,那么,
Covariance功能使编译器接受将类型对象传递给Cat类型Animal对象,Contravariant反之亦然。
一切都很好,直到我读到这一行。
“要注释类型协方差,请使用out参数,而对于逆变,请使用in参数”
根据我的说法,用out关键字修饰的参数 => 必须将值分配给函数中的特定参数。
我很难将out关键字covariance与in关键字关联起来contravariant。
这两者有什么关系?两者都有什么超级简单的例子吗?
提前致谢。