使用具有多态性的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};
给一个尝试,并执行clean
或rebuild
一步。
以上是 使用具有多态性的foreach给出空引用异常? 的全部内容, 来源链接: utcz.com/qa/261509.html