我应该使用公共属性和私有字段还是公共字段作为数据?

在我见过的许多代码中(在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

回到顶部