我有一个类库项目。我在那里有一个属性,如下所示。它不是只读属性
private Int32 ABC ;
public Int32 ABCD
{
set
{
this.ABC = value;
}
get
{
return this.ABC;
}
}
我的问题是,是否有必要为其声明私有变量和getter / setter?
编辑
我的意思是,它会像下面这样吗?
public Int32 ABCD {}
发布于 2011-09-24 13:59:53
Automatic property声明要求将get; set;
语句放在大括号中(这就是您在原始问题中的内容):
public Int32 ABCD { get; set; }
空属性块无效。
发布于 2011-09-24 14:00:22
使用C# 3.0 (VS2008)或更高版本中引入的自动实现属性。
http://msdn.microsoft.com/en-us/library/bb384054.aspx
public Int32 Abcd {get;set;}
编译器会为您创建支持字段。但是,它是匿名的,无法访问。如果以后您发现需要访问支持字段,您可以显式声明它,并使用该字段重新实现getter和setter,而不会破坏接口。
发布于 2011-09-24 14:02:00
使用自动实现的属性,它是从2008年引入的:
public Int ABCD
{
set;
get;
}
但不同之处在于缺省值,即在带有支持字段的属性中,您可以在变量中设置默认值,但在这种情况下,默认值是.net默认值。(实际上,你应该在构造函数中初始化它作为默认值)。
https://stackoverflow.com/questions/7537328
复制相似问题