Strange NullReferenceException
本文关键字:NullReferenceException Strange | 更新日期: 2023-09-27 17:52:42
我有四个类:
从PropPhysics
继承的PointMass
,从Entity
继承(PropPhysics
和Entity
都是抽象类(,以及具有称为Entities
的List<Entity>
的World
。
在这里,我试图将PointMass添加到World的List<Entity>
中。
奇怪的是,每当我试图添加一个新的、全局定义的,甚至现有的PointMass
(在方法的范围内(时,我都会得到一个"NullReferenceException
未处理"的错误。
我检查PointMass"pMass
"是否为null,但它不是,并且它会引发相同的错误。
每当构造PointMass
时,我甚至会显示一个消息框,但它仍然会引发同样的错误。
从其他研究中没有发现运气。
private void Display_Click(object sender, EventArgs e)
{
p.PositionX = 0;
p.PositionY = 0;
p.Mass = 5;
PointMass pMass = new PointMass();
if (pMass==null)
{
MessageBox.Show("error: Mass is null");
}
MyWorld.Entities.Add(new PointMass());
MyWorld.Entities.Add(pMass);
MyWorld.Entities.Add(p);
}
很可能是忘记初始化p
、MyWorld
或MyWorld.Entities
。
我假设是后者,所以请确保在World
:的构造函数中有这样的代码
Entities = new List<Entity>();
通过使用调试器,您可以很容易地找出哪个变量实际上是null
。请以后在发布这样的问题之前这样做。
BTW:pMass
创建后不能直接为空。
尝试在代码中初始化MyWorld.Entities
或p
。喜欢
Entities e = new List<Entity>();