使用具有多态性的foreach给出空引用异常?

所以我想通过所有从BaseClass的继承对象的数组迭代,我的代码看起来是这样的:使用具有多态性的foreach给出空引用异常?

ChildClass object1 = new ChildClass(); 

OtherChildClass object2 = new OtherChildClass();

BaseClass array[] = {object1, object2}

foreach(BaseClass element in array)

{

//do stuff

}

凡明显ChildClass和OtherChildClass从BaseClass的继承。 // do stuff的语句每次都会给出一个空引用异常,当我看到局部变量赋值“element”为空时......但“array”远不及空!

在我看来,该foreach没有拿起数组中的项目,因为他们不完全是基类,但我不知道如何解决这个问题。

回答:

狂猜:你正在执行的代码不是你上面的代码;你有上面不会编译代码,作为数组声明必须是:

BaseClass[] array = {object1, object2}; 

给一个尝试,并执行cleanrebuild一步。

以上是 使用具有多态性的foreach给出空引用异常? 的全部内容, 来源链接: utcz.com/qa/261509.html

回到顶部