【问题标题】:What's the difference between two ways of getter and setter. which is better? [duplicate]getter 和 setter 两种方式有什么区别。哪个更好? [复制]
【发布时间】:2013-06-10 21:44:43
【问题描述】:

getter 和 setter 有两种实现方式。

答:

public Object Name {get;set;}

乙:

private Object _name;
public Object Name
{
       get {return this._name;}
       set {this._name = value;}
}

当我们想要获取或设置我们都使用的属性时

X.Name = "Joy";
String name = X.Name

所以我只想知道它们之间的区别。

谢谢。

【问题讨论】:

标签: c#


【解决方案1】:

第一个是Auto-Implemented Properties,基本上是syntactic sugar,结果与第二种方法相同。

当使用第一个自动实现的属性时,c# 编译器将生成一个支持字段,就像您在第二种情况下声明的那样。

如果你想让属性只读,你可以这样声明它:

public Object Name {get; private set;}

【讨论】:

    【解决方案2】:

    它们是一样的。第一个只是语法糖。

    但是如果你想添加一些逻辑,比如验证 setter 值,第二个就是你需要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-13
      • 2020-01-12
      • 2014-12-20
      • 2013-08-07
      相关资源
      最近更新 更多