自动性能添加到语言中有关.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