コードインスペクション:プロパティは init のみにすることができます(private アクセス)
このインスペクションは、コンストラクターでのみ初期化されるプロパティを識別し、その set アクセサーを init アクセサーに置き換えることを提案します。
C# 9.0 以降の init アクセサーを使用すると、以前よりも柔軟な方法でプロパティを不変にすることができます。 readonly フィールドや get-only プロパティとは異なり、init-only プロパティはオブジェクトの初期化中にのみ設定できます。 これにより、オブジェクトの作成後にオブジェクトの不変性が維持され、より安全でシンプルなコードが実現します。
public class Blog
{
public Blog(string name)
{
Name = name;
}
public string Name { get; private set; }
}
public class Blog
{
public Blog(string name)
{
Name = name;
}
public string Name { get; private init; }
}
2026 年 6 月 12 日