2011-08-19 96 views
0

我寫下面的代碼:操作員問題?

_normDoc = value as NormDoc; 
    if(_normDoc != null) 
    { 
    ucRusKazTextBoxesAnnotation.Controls["tbNameRu"].Text = _normDoc.AddInfoRu ?? string.Empty; 
    } 

我認爲,如果_normDoc.AddInfoRu == null然後ucRusKazTextBoxesAnnotation.Controls["tbNameRu"].Text將等於空字符串。我的錯誤:NullReferenceException。 你能解釋我爲什麼嗎?

PS。 ucRusKazTextBoxesAnnotation不等於null;

編輯:對不起,我發現錯誤,是的,tbNameRu沒有找到,因爲它們都在裏面Panel控件。

+1

從數組索引返回的控件是否爲空? –

+1

我會認爲它找不到控件[「tbNameRu」]。確保你的名字是正確的。 – Willem

+0

你有沒有試圖將這條路線分成幾個不連續的步驟?你正在檢查_normDoc爲null,爲什麼不顯式檢查'_normDoc.AddInfoRu'和'ucRusKazTextBoxesAnnotation.Controls [「tbNameRu」]'爲null? – Xav

回答

1

ucRusKazTextBoxesAnnotation.Controls["tbNameRu"]也可以是null

3

確保ucRusKazTextBoxesAnnotation.Controls["tbNameRu"]不是null