【发布时间】:2013-04-08 19:49:54
【问题描述】:
有人告诉我,你可以替换下面的代码:
private string name;
public string Name
{
get;
set;
}
具有以下效果且不会受到任何不良影响:
public string Name;
我意识到,在第一个示例中设置的属性与我删除它并将原始属性设置为 public 时的设置几乎相同,但是使用属性的第二种方式是不好的编程习惯您只需要基本的 getter 和 setter 吗?
【问题讨论】:
-
您的第一个示例将创建两个不相关的成员,
name和Name。Name是自动属性;它不会使用您编写的name字段,而是使用您无法直接使用的带有一些疯狂名称的“不可见”字段。如果您想使用自己的变量,请提供访问器的主体,如public string Name { get { return name; } set { name = value; } }。