日期:2014-05-18 浏览次数:20962 次
class Program
{
public static void Main()
{
List<Child> children = new List<Child>();
children.Add(new Child());
children.Add(new Parent() as Child);
}
}
class Parent
{ }
class Child : Parent
{ }
------解决方案--------------------
没有修正什么,只不过有了新的东西,而不是修正。你的代码在.net4.0中也是无法编译通过过,必须推到了重新设计为所谓哦的协变(但是当你了解什么是协变时会发现更多别扭的禁忌)。
“onClass<son> sli = li”这种代码用到哪里也必须立刻看出它是错误的。如果有一个语言编译器说它可以操作,我们还是赶紧扔掉这个不靠谱的语言吧。
------解决方案--------------------
不能算是bug,应该算是.net 3.5编译器的限制.
------解决方案--------------------