![]() |
1
54
不能这样做的原因是列表是可写的。假设这是合法的,看看出了什么问题:
好吧,狗我的猫,这是坏的。
您需要的特性称为“通用协方差”,在C#4中,对于已知安全的接口,它是受支持的。
在C#4中会起作用,因为
|
![]() |
2
15
你可以做一些事情。一个例子是
元素
列表的
使用您的代码:
另一个是制造
另一种方法是不要
最后,如果你在C#4上,只需要枚举列表而不需要修改它,请查看Eric Lippert的答案
|
![]() |
3
12
你在寻找通用集合协方差。不过,很明显,您使用的C#版本不支持该功能。
您可以使用
|
![]() |
4
3
所以:
|
![]() |
5
2
每个人都提到了铸造方法。如果无法更新到4.0,则隐藏强制转换的方法是
这是同样的把戏
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 6 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 6 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 6 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 7 月前 |