0

在这个类中,我elpElType构造函数中设置。

我可以elp在构造函数中访问正常的属性(该// ...位是我访问elp的属性的位置),但是当我尝试以elp另一种方法访问时ucp()- 我的程序因NullReferenceException.

我无法弄清楚我在这里做错了什么,尽管这可能是非常简单的事情。

[Serializable]
public class ElBase : RectangleNode
{
    public ElementParameters elp;

    public ElBase(ElementParameters ElType)
    {
        this.elp = ElType;

        // ...
    }

    private void ucp()
    {
        int i = 0;

        if (this.elp.HasInput)
        {
            // ...
        }
    }
4

2 回答 2

5

任何一个:

  1. elp设置为null,如果那里没有空检查,甚至可能在构造函数中
  2. HasInput属性 getter 在其中抛出基于NullReferenceException代码。
  3. 哦,天哪elp是一个可公开访问的字段。任何东西都可以将其设置为空。:o 这应该是第 1 位,但我直接看过去了,因为没有人制作可公开访问的字段,因此这从来都不是问题。
于 2009-08-06T07:52:39.020 回答
1

如果不查看调用代码就不能说太多,但看起来ElementParameters传递给构造函数的不是 NULL 就是没有初始化。

于 2009-08-06T07:52:08.740 回答