我主要來自Java世界。所以,C#屬性看起來不錯。爲什麼我需要一個通過公共財產公開的私人領域?
我知道用C#3.0或更高版本,我可以使用自動屬性。我更喜歡它:)。
我的問題是關於一個(也許更老)代碼,我可以看到這一點:
private int age;
public int Age {
get { return age; }
set { age = value; }
}
爲什麼我需要私人領域的時代?我真的藏在這裏了嗎?
編輯:
我完全理解的getter和setter的需要。我提到我來自Java世界,並一直這樣做。
我明白在C#3.0或以上的自動屬性是syntally糖。但也許我的問題有一個更簡單的答案。這是否意味着(低於C#3.0)該屬性不具有任何價值。所以它必須從其他領域獲得價值?
這麼多可能的重複。這裏是開始http://stackoverflow.com/questions/295104/what-is-the-difference-between-a-field-and-a-property-in-c,當然,Jon Skeet的文章:http: //csharpindepth.com/Articles/Chapter8/PropertiesMatter.aspx – 2010-01-27 21:47:16
由於@Jay和@womp在他們的答案中指出,你不需要*那個明確的私人領域。事實上,如果您的示例代碼是您的實際代碼,則可以使用自動屬性簡寫。如果您需要get/set中的其他邏輯,通常只會提供顯式屬性實現。 – JMD 2010-01-27 21:48:37
我正在搜索,沒有找到我的答案(它在這裏...)。搜索谷歌,只有有用的信息是關於公共領域與公共財產的使用。我設置搜索引擎不喜歡我:)。拼寫檢查器在這裏不喜歡我。一切都是紅色的......只是不是我的一天。 – 2010-01-27 22:02:21