相关疑难解决方法(0)

c#中的协方差

是否有可能投下List<Subclass>List<Superclass>在C#4.0?

这些方面的东西:

class joe : human {}

List<joe> joes = GetJoes();

List<human> humanJoes = joes;
Run Code Online (Sandbox Code Playgroud)

这不是协方差的意思吗?

如果你能做到:

human h = joe1 as human;
Run Code Online (Sandbox Code Playgroud)

你为什么不能这样做

List<human> humans = joes as List<human>; 
Run Code Online (Sandbox Code Playgroud)

因为那个项目已经被贬低了,所以做人类[0]是不合法的,每个人都会很高兴.现在唯一的选择是创建一个新的List

c# casting covariance

19
推荐指数
2
解决办法
2141
查看次数

标签 统计

c# ×1

casting ×1

covariance ×1