Strange NullReferenceException

本文关键字:NullReferenceException Strange | 更新日期: 2023-09-27 17:52:42

我有四个类:
PropPhysics继承的PointMass,从Entity继承(PropPhysicsEntity都是抽象类(,以及具有称为EntitiesList<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); 
    }

Strange NullReferenceException

很可能是忘记初始化pMyWorldMyWorld.Entities

我假设是后者,所以请确保在World:的构造函数中有这样的代码

Entities = new List<Entity>();

通过使用调试器,您可以很容易地找出哪个变量实际上是null。请以后在发布这样的问题之前这样做。

BTW:pMass创建后不能直接为空。

尝试在代码中初始化MyWorld.Entitiesp。喜欢

Entities e = new List<Entity>();