JetBrains Rider 2026.1 Help

コードインスペクション:型メンバーは基本型を介してアクセスされていません(非公開のアクセシビリティ)

このインスペクションは、ソリューションで直接使用されず、派生クラスからの実装のみが使用されるインターフェースメンバーを報告します。 これは、このようなメンバーが必ずしもインターフェースの一部である必要がないことを提案しており、その場合はコードを簡素化するために安全に削除できます。

これはコードベースの現在の状態では問題になる可能性がありますが、インスペクションはインターフェースの将来の使用計画を考慮することはできません。 報告されたメンバーをインターフェース経由で使用することを計画している場合は、この提案を無視できます。

以下の例では、 Name プロパティは IPage インターフェースを通じて使用されることはなく、 Post クラスの実装のみが使用されます。 IPage から Name を削除すると、コードがよりわかりやすくなり、 NamePost クラスの一部であることが示されます。

public interface IPage { public string Name { get; set; } } public class Post : IPage { public string Name { get; set; } public Post(string name) => Name = name; public void PrintName() => Console.WriteLine(Name); } public class Test { public Test() { var post = new Post("New post"); post.PrintName(); } }

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

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

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

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

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

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

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

2026 年 6 月 12 日