|
5
|
| Matt Whitfield · 技术社区 · 16 年前 |
|
1
14
这将在C 4.0中工作!你所说的叫做 一般协方差 .
同时,您可以使用
|
|
|
2
3
这在.NET 4.0中受支持,但不早于.NET 4.0。 http://msdn.microsoft.com/en-us/library/dd799517%28VS.100%29.aspx |
|
|
3
3
澄清一下,它现在不起作用的原因是
.NET 4.0根本不会更改这些类型的关联方式。它们仍然是两种完全不同的类型,只通过专门化来联系。它将要做的是允许您编写了解专门化关系的方法,并且在某些情况下允许您在编写另一个方法时替换一个方法。 |
|
|
4
1
如果您想在IEnumerable(如您在问题标题中所写)和列表(如您在问题中所写)之间进行强制转换,可以等待C 4.0协方差特性。 在那之前,您可以使用扩展方法。 但我不会用 Cast extension method 在其他答案中注意到了,但是写我自己的方法,那只能用于在IEnumerable中进行协方差投射。当/如果您切换到C 4.0,您将很容易在代码中找到强制转换多余的所有位置。
最终节点。好像有 no precompiler constant for the netframework 4.0 ,否则我会补充
|