JetBrains Rider 2026.1 Help

コードインスペクション: フィールドは読み取り専用にすることができます(非公開以外のアクセシビリティ)

コンストラクターでのみ初期化される Person クラスを作成し、フィールドは公開することにしたとします。 次のように実装します。

public class Person { public string Name; public int Age; public Person(string name, int age) { Name = name; Age = age; } public override string ToString() => $"Name: {Name}, Age: {Age}"; }
Public Class Person Public Name As String Public Age As Integer Public Sub New(name As String, age As Integer) Me.Name = name Me.Age = age End Sub Public Overrides Function ToString() As String Return String.Format("Name: {0}, Age: {1}", Name, Age) End Function End Class

ソリューション全体のインスペクションが有効化されている場合、JetBrains Rider はフィールドがコンストラクターでのみ割り当てられていることを検出し、追加のセーフガードとして、それらを readonly でマークすることを提案します。これにより、このクラスやそのユーザーがこれらのフィールドに誤って新しい値を割り当てることが防げます。

ソリューション全体のインスペクションを機能させるには、次の少なくとも 1 つを有効にする必要があります。

  • 簡易的なグローバル使用状況チェック: JetBrains Rider 設定 の エディター | インスペクション設定 ページで ソリューション全体の分析がオフの場合に、未使用の非プライベートタイプメンバーを表示する を選択し、 Ctrl+Alt+S を実行します。

  • ソリューション全体解析: JetBrains Rider 設定 の エディター | インスペクション設定 ページで ソリューション全体の分析を有効化する を選択します Ctrl+Alt+S

報告されたフィールドがソリューション内で直接使用されていない場合でも、間接的に (たとえばリフレクションを介して) 使用される場合や、単にパブリック API として設計されている場合があります。 これらのすべてのケースでは、次のいずれかの方法で、フィールドの使用状況チェックインスペクションを 抑制する必要があります。

  • 推奨される方法は、暗黙的に使用されるフィールドを コードアノテーション属性で装飾することです。 この目的には [UsedImplicitly][PublicAPI] の属性があり、機能的には類似していますが、これらを使うことでフィールドがどのように使われているかを自分やチームメイトと理解できます。

  • また、カスタム属性を使用してインスペクションの使用状況を抑制することもできます。 これを行うには、その属性の定義に [MeansImplicitUse] 属性を付けます。

  • そして最後に、特定の使用チェックインスペクションを、 抑制コメントまたは抑制属性を持つ他のコードインスペクションと同様に抑制することができます。

2026 年 6 月 12 日