用于使用起始值声明属性的简单语法

时间:2013-05-08 17:26:27

标签: c# properties syntactic-sugar

到目前为止,我见过的最短代码声明了一个只能从我见过的类中设置的属性:

public T Property {get; private set;} 

但是如果我想用一个起始值(这不是该类型的默认值)声明它,我怎么能这样做?

其实我这样做:

public T Property {get; private set;}
private void Initialize() {Property = Value; }

另一种选择是:

private T _Property = Value;
public property {get {return _Property;}}

但是我想知道我是否只能用一个代码行编写它,因为我将编写许多这些属性,并且我不希望每个属性都有重复的行。

1 个答案:

答案 0 :(得分:4)

不。自动属性始终默认为默认值。

最好的办法是在构造函数中设置它们,否则就不要使用自动属性。

public T Property {get; private set;}
public MyClass() {
   Property = Value; 
}