C# 4.0进一步扩展了泛型类型和接口的协变和逆变。一些接口(比如IEnumerable<T>)是协变量,所以我可以这样做:但是这一行呢?Object> list = new List<String>();
//Cannot implicitly convert type List<string>
以下总结了我对C#中差异的理解。如果你能告诉我问题出在哪里,我会很感激,因为我读过埃里克·利珀特( Eric )在上发表的那篇文章,我无法理解其中的大部分内容。方差是指一种类型的转换(或者像Eric Lippert所说的那样的投影)可以保持赋值兼容性(协方差),或者逆转它(反方差),或者既不能保持它,也不能逆转它(不变性)。也就是说,如果我是T中的协</e