感觉有点多余,绕了。与其自动 属性了,我还要你属性干么呢?不如直接字段, 如果要属性肯定是 封装形的属性这样可以加约束,加动作。你们觉得呢?

解决方案 »

  1.   

    比如数据绑定一般只愿意绑定属性,而不是公开字段。
    从另外的角度看,字段是实体内部存储数据的具体方式,而属性是实体向外界公开本身特征的方式。
    属性和字段都是.Net的一级公民,适用于不同场合。
      

  2.   

    主要是为了以后的可扩展性,可以隐藏实现。比如说你现在不需要复杂的业务逻辑,简单地用公有字段就可以了,但 dll 发布出去以后,公有字段就无法改变为公有属性了,因为发布以后,界面是不能改变的。如果一开始就用公有属性,尽管开始时觉得有点多余,但以后想加进其他的业务逻辑,就没有障碍了,因为公开的是属性,可以随意改变属性的实现。
      

  3.   

    自动属性的语言特性提供了一个优雅的方式来使得编码更加简洁,同时还保持属性的灵活性。
    自动属性避免手工声明一个私有成员变量以及编写get/set逻辑,编译器会自动生成一个私有变量和默认的get/set 操作。为提高编程效率和以后扩展的需要
      

  4.   

    C# 自动属性在 2.0 编译不过, 很 SB .这点不如 c++/cli 的 property 关键字.