【发布时间】:2013-05-03 00:56:43
【问题描述】:
到目前为止,我见过的用于声明只能从我见过的类内部设置的属性的最短代码是:
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;}}
但我想知道我是否可以只用一个代码行来编写它,因为我将编写许多这样的属性,而且我不想每个都有重复的行。
【问题讨论】:
-
使用类ctor来初始化prop值怎么样?
-
将是相同的,每个属性两行。当类变大时,这会导致编码错误。
-
构造函数调用初始化。我将它分开是因为许多构造函数重载需要特定的序列。
-
属性值是唯一的还是只是想更改类型的默认值?
-
独一无二。实际上我希望它们是常量,但是它们是类和委托,不能将它们声明为常量。
标签: c# properties syntactic-sugar