自動性能添加到語言中有關.NET 3,營造出「私人」領域,反正使用的代碼:訪問自動屬性 - C#
public string foo {get;set;}
是否有可能真正得到任何形式的參考這個私人領域?
我要像做
public string foo {get{/*some code to check foo for nulls etc*/};set;}
不失這種自動性質特徵和寫作類似
private string _foo = null;
public string foo{get{_foo==null?_foo="hello"; return _foo;}set{_foo=value;}}
這不會使它成爲一個自動屬性,會嗎? – BoltClock 2011-03-16 09:57:25
爲什麼你要在* getter *中添加支票?檢查應該在* setter *中。 – CodesInChaos 2011-03-16 09:59:40
IMO延遲初始化過度使用。如果默認值是檢查構造只是在構造函數中分配它。延遲初始化適用於缺省值構建起來並且不總是使用的屬性。根據我的經驗,這可能是一百個屬性中的一次。 – CodesInChaos 2011-03-16 10:03:10