2016-07-28 75 views
-1

正在使用C#的WinForms與Visual Studio 2015年我得到一個屬性空引用我的一個類

這是我的課

public class advmessage 
{ 
    public string[] message; 
} 

所以後來在Form 1的Load事件中,我做這

advmessage newadvmessage = new advmessage(); 
    newadvmessage[1]="Hello"; 

併爲該指派,它引發空引用的異常,並說對象引用未設置爲對象的實例。所以如果我有一個不需要是數組的類,那麼一切都可以找到,但是在那些使用數組的地方,它就是它的例外。

此外,我沒有得到任何類的設置或返回,這可能是問題,但是當我添加{get;組; }在那裏它仍然有問題。我可以理解一個空引用,如果我引用了一個空字符串,但我只是試圖設置將在文本框中顯示給用戶的消息屬性。

任何幫助將不勝感激。

+0

您是否已經在調試器中逐步瞭解代碼?很可能你的數組'newadvmessage'尚未初始化。 – Tim

+0

'get'和'set'(即屬性vs字段,你現在擁有的是一個字段)與錯誤無關。從最佳實踐的角度來看,您應該使用屬性,而不是字段。字段應該對班級是私人的。 – Tim

回答

0
public class advmessage 
{ 
    public advmessage(size) 
    { 
     message = new string[size];//or whatever size you want. 
    } 
    public string[] message; 
} 

advmessage newadvmessage = new advmessage(5); 
newadvmessage.message[1]= "Hello"; 
+0

好吧,所以當我這樣做時,它希望括號直接在newadvmessage之後和.message屬性之前。 – Larryrl

相關問題