コードインスペクション: 仮想(オーバーライド可能な)メンバーが一度もオーバーライドされていません(非 private アクセシビリティ)
このインスペクションは、包含クラスに継承があるが仮想メンバーには上書きがない場合に、 virtual 修飾子を使用してメソッドとプロパティを検出します。 コードの可読性を向上させるために、ReSharper はそのようなメンバーを非仮想にすることを提案します。
ソリューション全体のインスペクションを機能させるには、次の少なくとも 1 つを有効にする必要があります。
簡略化されたグローバル使用状況チェック: ReSharper オプション の ページで ソリューション全体の分析がオフの場合に、未使用の非プライベートタイプメンバーを表示する を選択します Alt+R、O 。
ソリューション全体の分析: ReSharper オプション の ページで ソリューション全体の分析を有効化する を選択します Alt+R、O 。
報告されたメンバーがソリューション内で直接使用されていない場合でも、リフレクションなどによって間接的に使用される場合や、単にパブリック API として設計されている場合もあります。 これらのすべてのケースでは、次のいずれかの方法でメンバーの使用状況チェックインスペクションを 抑制する必要があります。
推奨される方法は、暗黙的に使用されるメンバーを コードアノテーション属性 で装飾することです。 この目的には [UsedImplicitly] と [PublicAPI] の属性があり、これらは機能的に似ていますが、メンバーが実際にどのように使われているかをあなたやチームメイトが理解するのに役立ちます。
また、カスタム属性を使用してインスペクションの使用状況を抑制することもできます。 これを行うには、その属性の定義に [MeansImplicitUse] 属性を付けます。
そして最後に、特定の使用チェックインスペクションを、 抑制コメントまたは抑制属性を持つ他のコードインスペクションと同様に抑制することができます。