JetBrains Rider 2024.1 ヘルプ

コード検査: プロパティは 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; } }