gpt4 book ai didi

c# - 我应该为数据使用公共(public)属性和私有(private)字段还是公共(public)字段?

转载 作者:IT王子 更新时间:2023-10-29 03:47:31 27 4
gpt4 key购买 nike

在我看到的大部分代码中(在 SO 上,thecodeproject.com,我倾向于在我自己的代码中这样做),我看到为类包含的每个私有(private)字段创建公共(public)属性,即使它们是最基本的 get 类型;设置; 喜欢:

private int myInt;
public int MyInt
{
get { return myInt; }
set { myInt = value }
}

我的问题是:这与以下内容有何不同:

public int MyInt;

如果我们应该使用属性而不是公共(public)字段,为什么我们应该在这种特定情况下使用它们? (我不是在谈论更复杂的例子,在这些例子中,getter 和 setter 实际上做了一些特殊的事情,或者只有一个 get 或 set(只读/写),而不是仅仅返回/设置一个私有(private)字段的值)。好像没有加任何额外的封装,只是在IntelliSense中给了一个漂亮的图标,放在类图中的一个特殊的部分!

最佳答案

查看本文 http://blog.codinghorror.com/properties-vs-public-variables/

特别是

  • 反射对变量和属性的作用不同,因此如果您依赖反射,则使用所有属性会更容易。
  • 您不能对变量进行数据绑定(bind)。
  • 将变量更改为属性是一项重大更改。

关于c# - 我应该为数据使用公共(public)属性和私有(private)字段还是公共(public)字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1277572/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com