プロさんのおうち   ~プログラムのサンプル置き場~


init専用セッター


クラスの初期化時のみ値を設定することのできるセッターです。

この記述は、C#9.0(.Net5)から利用できます。

ソース

init専用セッターのサンプルソースは以下のようになります。


// サンプルクラス
class InitSample
{
    /// <summary>
    /// initテスト
    /// </summary>
    public string TestProperty { get; init; }
}

// 呼び出し部分
InitSample sample = new InitSample { TestProperty = "TEST" };
				

初期化以降、sampleにTestPropertyの値は設定できません。

設定しようとした場合、以下のコンパイルエラーになります。

init 専用プロパティまたはインデクサー 'InitSample.TestProperty' を割り当てることができるのは、オブジェクト初期化子の中か、インスタンス コンストラクターまたは 'init' アクセサーの 'this' か 'base' 上のみです。

参考URL


メニューに戻る


CopyRight 2019 株式会社PUreatio