因为属性的实质是方法(get或set方法)spa
若是知足下面几个条件,那么咱们即可以大胆地使用公共字段:对象
1. 容许自由读写;开发
2. 取值范围只受数据类型约束而无其余任何特定限制;get
3. 值的变更不须要引起类中其它任何成员的相应变化;class
属性的使用条件则刚好跟变量相反,只要知足下面任何一个条件,就应该使用属性:变量
1. 要求字段只能读或者只能写;数据类型
2. 须要限制字段的取值范围;方法
3. 在改变一个字段的值的时候但愿改变对象的其它一些状态;总结
总结:虽然在实际项目的开发过程当中,公共字段和属性在合适的条件下均可以使用,可是咱们应该尽量的使用属性(property),而不是数据成员(field);把全部的字段都设置为私有字段,若是要暴露它们,则把它们封装成属性,这也是微软推荐的方式。数据