2014-01-06 20 views
0
public readonly int items = 3; 
private System.Windows.Forms.TextBox[,] statsBonus = new System.Windows.Forms.TextBox[6, items]; 

它在「項目」變量上給我這個錯誤。我該如何做到這一點,以便我可以使用名爲「items」的變量,而不必在使用數字3的每個字段中都寫入3?字段初始值設定項不能引用非靜態字段方法或屬性

如果我想在代碼上編輯它,我不想將數字3手動更改爲其他內容。我想使用一個變量,所以我只需要改變變量來改變一切。

+0

公共只讀INT項目= 3;正在我的電腦上工作。你使用什麼版本的.Net? – cubitouch

+1

閱讀錯誤消息,添加靜態。 –

+0

@cubitouch如何找到我使用.NET的哪個版本?我在Visual Studio 2012 – puretppc

回答

3

而不是使用readonly使用const

編輯:

對於兩者之間的多個討論的差別,看看this SO answer

+0

它正常運行。但是這兩種類型有什麼區別? – puretppc

+0

@puretppc,*只讀*字段值可以在* constructor *中設置,也可以設置字段初始值設定項,但* const *文件值只能通過字段初始值設定項設置。 –

1

一個選項

移動它的構造器:

public ClassName() 
{ 
    statsBonus = new System.Windows.Forms.TextBox[6, items]; 
} 

更好的選擇

items一個const

2

您必須使用

const int items = 3; 
+0

只讀變量只能通過constructer賦值 –

相關問題