コード検査: アクセスされていないフィールド (private アクセス)
C# コンパイラーは、未使用フィールドに関するいくつかの警告を出すことができます:
ReSharper はこれらの警告をすべて知っていて、設計時の通知を提供していますが、さらに一歩前進し、コンパイラーの警告でカバーされていない未使用フィールドを検出します。以下の例は、フィールドに定数ではない値が割り当てられていて、読み込み用途がない場合でも、ReSharper が未使用のメンバーを検出するのに役立つことを示しています。
関連ページ:
コードインスペクション設定を構成する
設計時コードインスペクションを構成する:デフォルトでは、ReSharper は、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかに関係なく、コードインスペクションは常に特定のスコープで実行できます。メインメニューからを選択するか、Alt+R O を押してから、左側のを選択します。設計時コードインスペクションを切り替えるには、コード分析を有効にするチェックボックスを使用し...
設計時にコードの問題を分析する
ReSharper は、エディターでコードファイルを開くとすぐに分析を開始し、最後まで編集を続けます。検出されたすべてのコードの問題は、重大度に従ってエディターでハイライトされます。問題のマップは、エディターウィンドウの右側のマーカーバーにも表示されます。ここでは、ファイルのステータスを即座に確認し、マークをクリックして特定のコードの問題に移動できます。デザインタイムインスペクションの機能:ReSharper によって実行されるデザインタイムコードインスペクションを説明するために、エディターに...
コード検査: 名前空間がファイルの場所に対応していません
デフォルトでは、ReSharper は、各クラスが表示される名前空間がプロジェクト内の場所と一致するとみなします。プロジェクトの「ルート」名前空間は、プロジェクトのプロパティで定義されています。上記の結果、プロジェクトレベルのすべてのコード要素が名前空間に現れることが予想され、それ以外の場合は警告が発行されます。フォルダーの導入により、名前空間はより深くなります。以下の例では、という名前のフォルダーは、名前空間に表示されるために、その中に含まれるすべてのアイテムを必要とします。ただし、追加の名前...
コード検査: 'GetHashCode()' で参照される非読み取り専用型メンバー
メソッドの Microsoft のドキュメントでは、このメソッドのオーバーライドによってオブジェクトの存続期間中に変更されない値が返されることが明示的に要求されていません。特に、言う: オブジェクトの GetHashCode メソッドは、オブジェクトの Equals メソッドの戻り値を決定するオブジェクト状態への変更がない限り、常に同じハッシュコードを返す必要があります。一方、オブジェクトがコレクション内にあるときは、少なくともハッシュコードは変更しないでください: 不変の参照型の GetHashCo...