【发布时间】:2014-03-18 21:55:07
【问题描述】:
我查看了堆栈溢出,但所有答案似乎都略有不同。
我想知道,简单明了。为什么是这种标准做法?
为什么要为属性创建私有局部变量?
为什么在我所见过的任何专业代码中都采用这种标准做法?
private int _widget;
public int widget
{
get{ return _widget; }
set{ _widget = value; }
}
这看起来不是多余和浪费吗?
没有人直接调用私有变量。你总是通过属性来设置它。
为什么不直接取消它?
使用这个时有没有我不知道的黑魔法?
public int widget {get; set;}
【问题讨论】:
-
@p.s.w.g 你应该这样回答。
-
详细说明 p.s.w.g 所说的:以前不能创建单行属性。您需要底层私有变量。
-
所以这只是早期的另一个保留?
-
@AMR 正确,auto-implemented properties 是在 C# 3.0 中引入的,所以在此之前这是唯一的方法。
-
@p.s.w.g 是的,我看到了,但答案有些离谱。它似乎没有解决问题
标签: c# properties