我有這樣的代碼:訪問者爲什麼必須比屬性限制更多?
public string foo { get; set; }
現在,我解釋這是我的對象有一個名爲foo
的公共屬性,都它的訪問是公開的。如果我這樣寫:
private string foo { get; set; }
我解釋說我的對象有一個名爲foo
私人財產,都它的訪問者的是私有的。我明白將財產本身保密。我不明白的是爲什麼訪問者必須更具限制性?如果我寫:
private string foo { public get; public set; }
我解釋,我的對象有一個名爲foo
私人財產,雙方是它的訪問是公開的,這是我想要的行爲。我希望擁有公共訪問者的私人財產。我的意思是,如果我必須寫一個Get/Set方法,我會的。但我只是困惑,爲什麼這是。
怎麼樣,去年財產是私有?或者整個事情都是私密的,而且getter/setter實際上是私人的,即使你正在對他們的公共訪問者進行拍打,或者它是公開的,並且'private'標識符不正確... – Servy 2013-04-24 20:32:26
我認爲這只是一個有用的慣例。爲了代碼一致性,關於訪問級別的順序應該遵循* some *規則(在類定義中,'static'應該出現在'partial'之前的規則應遵循相同的方式),並且它使得意識到規則應該是「屬性訪問級別必須限制最少」,因爲眼睛首先傾向於關鍵字,這是最安全的選擇。 – 2013-04-24 20:36:08
我向SO道歉。這個問題是由於我對非常非常基本的東西的無知:[字段和屬性之間的區別](http://stackoverflow.com/questions/295104/what-is-the-difference-between-a-field -and-A-屬性功能於c)中。現在我已經看到了這一點,現在更清晰了。 – MyCodeSucks 2013-04-24 20:42:22