2011-02-25 101 views
1

剛看到一些教程,很困惑作者有時使用這兩個屬性沒有限制和公共領域。我看不出有任何理由這樣做。我不應該每次只用它來符合「標準」?爲什麼有些領域是公共的,有些是屬性?

class A 
{ 
    public bool B; 

    private bool c 
    public bool C 
    { 
    get 
    { 
     return c 
    } 
    set 
    { 
     c=value; 
    } 

    } 
} 

回答

6

使用公共領域幾乎總是一個壞主意。 Just use properties

你也應該知道自動實現的屬性(在C 3#引入),它允許你C財產被寫成:

public bool C { get; set; } 
+0

自動屬性在C#中引入一個只讀屬性外設置3.0。 – Oded 2011-02-25 10:04:45

+0

自動實施?這是什麼意思,Visual Studio會爲我生成這個代碼? – Mocco 2011-02-25 10:06:41

+0

@Cocodrilo:這意味着你將源代碼放入你的C#代碼中,並且編譯器生成一個由私有字段支持的屬性。有關詳細信息,請參閱C#規範。 – 2011-02-25 10:17:26

0

它始終是一個更好的做法,有私人領域。你應該使用標準的編碼準則,使代碼一致。

您可以通過使用自動實現的屬性完全消除對專用字段的使用。

Public int MyProperty {get; set;} 

你也可以有屬性私有集合,使他們不能在類的範圍,這就好比讓

Public int MyProperty {get; private set;} 
相關問題