[C# 6.0新機能] 拡張メソッドによるコレクションの初期化

スポンサーリンク

C# 6.0では拡張メソッドを使用した独自のコレクション初期化メソッドを定義することができます。
例としてSampleクラスを以下のように作成します。

class Sample
{
    public string Name { get; set; }

}

// 拡張メソッドでAddを定義
// 初期値の先頭に"Hello,"が追加される
static class SampleExtensions
{
    public static void Add(this List list, string name)
        => list.Add(new Sample { Name = $"Hello, {name}."});
}

上記Sampleクラスのインスタンス生成時に初期値を与えると、初期値の前に”Hello,”が追加されます。

var smp = new List<Sample>()
{
    "Eric", "Paul", "Billy"
};
Please follow and like us:

コメント

タイトルとURLをコピーしました