我应该使用公共属性和私有字段还是公共字段作为数据?
在我见过的许多代码中(在SO,thecodeproject.com上,我倾向于在自己的代码中执行此操作),我看到为类包含的每个私有字段创建了公共属性,即使它们是最多的基本类型get;
set;如:
private int myInt;public int MyInt
{
get { return myInt; }
set { myInt = value }
}
我的问题是:这与以下内容有何不同:
public int MyInt;
如果我们应该使用属性而不是公共字段,那么为什么要在这种特定情况下使用它们?(我不是在谈论更复杂的示例,在这些示例中,getter和setter实际上做了一些特殊的事情,或者只有一个get或set(仅读/写),而不仅仅是返回/设置私有字段的值)。它似乎没有添加任何额外的封装,仅在IntelliSense中提供了一个漂亮的图标,并放在类图中的特殊部分!
回答:
看到这篇文章http://blog.codinghorror.com/properties-vs-public-
variables/
特别
- 反射在变量和属性上的工作方式不同,因此,如果您依赖反射,则使用所有属性会更容易。
- 您无法与变量进行数据绑定。
- 将变量更改为属性是一项重大更改。
以上是 我应该使用公共属性和私有字段还是公共字段作为数据? 的全部内容, 来源链接: utcz.com/qa/399083.html