|
|
1
8
实际上,泛型类型现在不是变量。在C 4.0中,IEnumerable
http://blogs.msdn.com/ericlippert/archive/tags/Covariance+and+Contravariance/default.aspx |
|
|
2
1
不幸的是,这不起作用,因为.NET中的泛型尚不支持协方差。 但是,您可以创建一个小的助手方法或类来解决这个问题。 如果实现自己的列表类,则可以使用其他泛型参数添加协方差:
|
|
|
3
1
你不能这样做吗?
|
|
|
4
1
我可以用LINQ来实现这一点…
|
|
5
1
如果您发现自己处于一种通用类型不是变量的情况下,下面的扩展方法可以使您的生活更轻松:
而不是从
|
|
|
6
0
我唯一能想到的就是这个
调用它意味着执行mylist<a>.addrange<b>(mylist<b>)。如果参数不可枚举,或者类型继承不起作用,那么它将失败,从而满足我问题的最大类型安全要求。 |