本日は C# の小ネタ枠です。
C#でインスタンス生成時にプロパティを設定する幾つかの記法について記事にします。
オブジェクトの初期化
オブジェクトの初期化構文ではコンストラクタで指定できないプロパティを設定できます。
本記法は C#3.0 以降から利用可能です。
・クラス例
public class ExampleData01 { public int Id; public string Text; }
・初期化例
ExampleData01 data = new ExampleData01 { Id = 0, Text = "Message" };
オプション引数を使ったコンストラクタ
コンストラクタから引数のみでプロパティを設定したい場合、オプション引数を使ったコンストラクタを定義しておくと1つのコンストラクタで様々な設定ができます。
オプション引数の記法は C#4.0 以降から利用可能です。
・クラス例
public class ExampleData02 { private int Id; private string Text; public ExampleData02(int id = 0, string text = "Message") { Id = id; Text = text; } }
・初期化例
ExampleData02 pattern01 = new ExampleData02(); ExampleData02 pattern02 = new ExampleData02(id:1); ExampleData02 pattern03 = new ExampleData02(text:"MessageOne"); ExampleData02 pattern04 = new ExampleData02(id:2, text:"MessageTwo");