【发布时间】:2010-04-21 16:09:00
【问题描述】:
我不明白为什么下面的 'x' 会转换,但 'y' 和 'z' 不会。
var list = new List<List<int>>();
IEnumerable<List<int>> x = list;
List<IEnumerable<int>> y = list;
IEnumerable<IEnumerable<int>> z = list;
新的协方差特性是否根本不适用于泛型的泛型,还是我做错了什么? (我想避免使用 .Cast 来使 y 和 z 工作。)
【问题讨论】:
标签: c# .net c#-4.0 covariance contravariance