【发布时间】:2019-01-22 09:57:51
【问题描述】:
我正在学习属性,我有一个相当简单的问题:
属性只是带有“内置”getter 和 setter 的变量吗?
我的意思可以用这个例子来描述。
int variable;
public void SetVariable(int _value)
{
variable = _value;
}
public int GetVariable()
{
return variable;
}
int variable { get; set; }
这两个完全一样是一样的还是有一些我看不到的细微差别?
【问题讨论】:
-
除了命名之外,它们是相同的。属性实际上是使用具有特殊名称的 getter 和 setter 方法实现的,为了方便起见,这些方法被隐藏了。请注意,您永远不应在 .NET 中使用
Get/Set方法而不是属性,因为知道大写-P 属性的客户端和工具将无法发现该“属性”。 -
C#属性的不同“风味”详解in the documentation
-
@JeroenMostert 谢谢,回答了我的问题。
标签: c#