【发布时间】:2013-07-09 08:58:18
【问题描述】:
我知道属性有一些优点,但是如果您认为不需要属性,那么将其设为公共实例有什么害处?
人们说如果您稍后尝试将公共字段更改为属性会破坏代码,但根据我的经验,将其更改为属性不会破坏任何代码。
【问题讨论】:
-
显示一些代码示例!
-
属性让您可以更好地控制解析到您的类的数据,您不希望任何旧数据未经验证进入您的类并引发异常。
-
如果您需要在设置之前对字段进行一些验证会怎样?或者当您希望在字段更改时触发事件时会发生什么?你不能用一个字段轻松地完成其中任何一个。使用属性并没有真正的性能损失,因为自动实现的小属性无论如何都会被 JITter 内联。
-
属性也用于数据绑定,所以你不需要手动更新你的GUI。非常适合 MVC
-
更改属性可能会导致this error。 (不过我是房产的粉丝)
标签: c# properties field class-design