2010-06-02 85 views
1

我在某個類中擁有公共屬性。我想爲這個屬性設置一個默認值-1,沒有像_MyField這樣的私有變量(因爲這個類中有太多的屬性,我不會逐個添加它們)。公共屬性的默認值

public int MyProperty { get; set; } 

[DefaultValueAttribute]不適用於此問題,我認爲。有任何想法嗎?謝謝。

UPDATE @ Aug 2015現在我們有C#6!

public int MyProperty { get; set; } = 100; 

public string EasyToUse { get; } = "YES!"; 

回答

3

你基本上有兩個選擇 - 你可以在對象的構造函數中設置屬性,或使用專用字段。

就我個人而言,我覺得構造函數是最好的選擇,因爲閱讀代碼的人很清楚你的類的新實例是什麼意圖。

[DefaultValue]是一個用於可視化設計器功能的屬性,對您的類邏輯沒有影響。

+0

沒有其他方法可以設置默認值嗎?你知道我真的想要這樣一個表達式: public int MyAttr = -1 {get; set;} – 2010-06-02 02:52:49

+2

Danny,這有點擊敗了自動屬性的目的。 – 2010-06-02 02:55:27

0

只需在該對象的構造函數中設置一個this.MyAttr = -1賦值。