コード検査: クラスはインスタンス化されません (private アクセス)
このインスペクションは、現在のローカルスコープでオブジェクトが作成されなかったプライベートクラスとレコードを報告します。「型が使用されていない」問題とは異なり、このインスペクションによって報告される型には使用箇所があります。つまり、基本型として、メソッドまたは型パラメーターとして、初期化されていない変数宣言などで使用できます。
さまざまな状況に応じて、いくつかの解決策が考えられます。クラスに静的メンバーと定数フィールドのみが含まれている場合は、静的にすることを検討してください。クラスが基本クラスであるか、型パラメーターに使用されている場合は、抽象クラスにすることを検討してください。クラスが必須ではなく、既存のコードに影響を与えない場合は、削除することを検討してください。ただし、クラスをインスタンス化する必要があるのにインスタンス化されていない場合は、必要に応じてインスタンスを作成することを検討してください。
いずれの場合も、クラスの背後にあるインテンションは、将来コードを読む人にとっては明らかである必要があります。選択したアクションによって、コードの読みやすさと保守性が増すはずです。
関連ページ:
コードインスペクション設定を構成する
設計時コードインスペクションを構成する:デフォルトでは、ReSharper は、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかに関係なく、コードインスペクションは常に特定のスコープで実行できます。メインメニューからを選択するか、Alt+R O を押してから、左側のを選択します。設計時コードインスペクションを切り替えるには、コード分析を有効にするチェックボックスを使用し...
コード検査: 継承されない仮想(オーバーライド可能な)メンバーを持つクラス (private アクセス)
このインスペクションは、1 つ以上のオーバーライド可能なメンバー (C# では、Visual Basic では) を持ち、現在のローカルスコープ内に継承クラスを持たないプライベートクラスを報告します。一方では、メンバーをオーバーライド可能にすることは、サブクラスでそれをオーバーライドするためのインテンションを示しますが、他方では、サブクラスは存在しません。この矛盾を解決するには、または修飾子を削除することを検討してください。クラスが意図的に継承を持たないように設計されている場合は、クラスに (Vi...