4

これまでのところ、私が見たクラス内からのみ設定できるプロパティを宣言するために見た最短のコードは次のとおりです。

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 つのコード行だけでそれを記述できるかどうか疑問に思っています。

4

1 に答える 1

4

いいえ。自動プロパティは、常にデフォルト値にデフォルト設定されます。

あなたの最善の策は、コンストラクターでそれらを設定するか、自動プロパティを使用しないことです。

public T Property {get; private set;}
public MyClass() {
   Property = Value; 
}
于 2013-05-08T17:29:08.943 に答える