class TimePeriod { private double _seconds; public double Seconds { get { return _seconds; } set { _seconds = value; } } }
class TimePeriod2 { public double Hours { get; set; } }
这2段代码是一样的吗??第二段代码是第一段代码的简写形式吗?
如果编译成IL是一样的。
第二种是自动属性 .net内部会自动为其加上字段
其实在.Net中的属相 的get 和set 访问器是get_字段名,set_字段名 的两个方法 ,
可以用reflect反编译工具查看
第一种是.NET2.0支持
第二种是.NET3.5支持