JetBrains Rider 2026.1 Help

コードインスペクション:オプションのパラメーターを導入する(非公開アクセシビリティ)

オーバーロードされた関数の唯一の目的が、一部の引数にデフォルト値を指定して「実装」関数を呼び出すことである場合、このオーバーロードの代わりに「実装」関数で オプションの引数を使用できます。

このインスペクションは、このようなオーバーロードを報告し、削除して「実装」関数の対応するパラメーターをオプションにすることを提案します。

public void Foo(object value) { Foo(value, true); } public void Foo(object value, bool flag) { //implementation }
public void Foo(object value, bool flag = true) { //implementation }

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

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

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

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

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

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

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

2026 年 6 月 12 日