2011-02-27 62 views
0

我有一個列表,定義爲在基類中的全局:列表內容會發生什麼?

private List<Object> progObjs; 

在派生類的構造函數中我有:

Object newObj = new Object(); 

this.progObjs = new List<Object>(); 
this.progObjs.Add(newObj); 

添加後,這一個破發點顯示對象已經進入列表,並且列表現在是Count = 1

然而,在類另一個函數,我嘗試使用的第一個對象列表中(即progObjs[0]),但它拋出一個NullReferenceException並且列表實際上是Count = 0,即使我沒有刪除對象該名單我自己。

我的列表中的對象發生了什麼?

謝謝, 米奇。

+0

你是如何在其他函數中調用它的? –

+2

如果progObjs字段在基類中是私有的,則派生類的構造函數不應該有權訪問它。我想你的示例代碼不是真正的代碼? (由於編譯器應該產生一個錯誤)。 –

+0

在插入和失敗點之間,要麼刪除元素,要麼用新列表替換'progObjs'。另一種可能性是其他代碼正在訪問不同的'progObjs'。沒有一些額外的背景,很難提供更多的指導。 –

回答

0

發現了問題:

我與XNA工作,和基類的初始化方法重置derrived類中定義後的列表。