いいえ。ただし、パラメーターなしのコンストラクターで簡単に初期化できます。
public class AA
{
public AA()
{
// default values
Value1 = "hi";
Value2 = 12;
}
public string Value1 {get;set}
public int Value2 {get;set;}
}
または、自動実装されたプロパティを使用する代わりに、デフォルト値に初期化されたバッキングフィールドを持つ実際のプロパティを使用します。
public class AA
{
private string _value1 = "hi";
public string Value1
{ get { return _value1; } }
{ set { _value1 = value; } }
private int _vaule2 = 12;
public int Value2
{ get { return _value2; } }
{ set { _value2 = value; } }
}
実際のバッキングフィールドを使用してプロパティを作成することは、VisualStudioスニペットではそれほど大きな問題ではありません。prop
VSと入力してTab
キーを押すと、読み取り/書き込みプロパティの完全なスニペットが取得されます。
[編集]このスレッドもチェックしてください:C#自動プロパティにデフォルト値を与えるにはどうすればよいですか?
[さらに別の編集]これで読みやすくなると思われる場合は、次のリンクを確認してください。これは、必要なバッキングフィールドを含むプロパティを生成し、その#region
周囲にブロックを自動的に追加してコードを折りたたむget / setスニペットです:Snippets CodePlexで(Omer van Kloetenによる)。ダウンロードして
Get+Set Property (prop)
スニペットを確認してください。