2009-08-06 111 views
0

在這個類中,我在構造函數中將elp設置爲ElType當訪問構造函數外的屬性時出現NullReferenceException異常

我可以訪問構造函數時的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) 
     { 
      // ... 
     } 
    } 
+0

發佈的代碼沒有任何問題。請張貼更多。嘗試創建一個簡短但完整的程序來展示問題。 – 2009-08-06 07:52:51

回答

1

而不查看調用代碼不能說太多,但看起來像ElementParameters傳遞給構造函數NULL或者未初始化。

5

或者:

  1. elp設置爲null,甚至可能在構造函數中如果有不爲空檢查有
  2. HasInput屬性的getter拋出的NullReferenceException根據裏面的代碼。
  3. 哦親愛的elp是一個公衆可訪問字段。任何東西都可以將其設置爲null。 :o這應該是數字1,但我直視它,因爲沒有人可以公開訪問字段,因此它從來都不是問題。