访问自动属性 ​​- c#

自动属性被添加到关于.net 3的语言中,无论如何,使用代码创建一个“私有”字段:

public string foo {get;set;} 

是否有可能实际获得对此私有字段的任何引用?

我想做点什么

 public string foo {get{/*some code to check foo for nulls etc*/};set;} 

不失去这个自动属性function并编写类似的东西

 private string _foo = null; public string foo{get{_foo==null?_foo="hello"; return _foo;}set{_foo=value;}} 

自动属性的支持字段是匿名的 ; 你无法从其getter或setter中访问它。

如果您需要在getter或setter中实现自己的逻辑,那么无论如何都不会将您的属性视为自动。

自动属性只是为了节省打字的乏味,以及观看的大量,这些:

 private object _x; public object X { get { return _x; } set { _x = value; } } 

您不能拥有“自动”获取和“手动”设置(或“手动”获取“自动”设置)。 您必须同时具有“手动”或两者都是“自动”。