0

有两种方法可以实现 getter 和 setter。

A:

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

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

谢谢你。

4

2 回答 2

1

第一个是自动实现的属性,它基本上是语法糖,结果与第二种方法相同。

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

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

public Object Name {get; private set;}

于 2013-06-14T09:21:42.577 回答
1

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

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

于 2013-06-14T09:23:18.013 回答