2017-09-24 58 views
0

我是C#的新手,但我已經使用了{get; set;},並在其他人編寫的一些較早的代碼集中找到了這個{get; private set}{get; set;}和{get;私人設置;}?

這究竟意味着什麼?
{ get; set; }{ get; private set; }之間的區別是什麼?

回答

12

當你寫

public int MyProperty {get; set;} 

兩者的getter設置者有MyProperty訪問性,這是在這種情況下public。當你寫

public int MyProperty {get; private set;} 

只有吸氣仍然public,而二傳手變成private。這種方法被用來製作只能從課堂內部書寫的屬性。

的C#新版給你一個密切相關的結構

public int MyProperty {get;} 

,它可以讓你讓你的屬性只讀。這與{get;private set;}類似,但是另外它將所有賦值MyProperty限制爲其包含類的構造函數。