コード検査: ソース式は常に提供されたパターンと一致する
以下の例では、case string myStr は型チェックのように見えますが、実際には 2 つのことを行います。
System.Stringのインスタンスのstrをチェックします。strがnullではないことを確認します。
ただし、メソッドシグネチャーによれば、str は常に System.String のインスタンスであるため、case string myStr の唯一の目的は、str が null であるかどうかを確認することです。
そのため、ReSharper は、一致する式で使用される型パターンがコードの実際のセマンティクスを示さないことを通知します。これは単なる null チェックです。
パターンマッチング式での null チェックの場合、C# 8 は次の構文のオブジェクトパターンを導入します: { } このパターンは、null 値を除くすべてに一致するように設計されており、クイックフィックスで提案されています。
式のタイプが変わらないときにタイプパターンの代わりにオブジェクトパターンを使用すると、次の利点があります。
コードを読んだ人なら誰でも、これは単なる null チェックであることがわかります。
最初の例のコードをリファクタリングして、たとえば
strパラメーターの型をobjectに変更した場合、コードは引き続きコンパイルされますが、型チェックを実行します。ランタイム。一方、{ } myStrは常に NULL チェックを行い、strの型に関係なく同様に動作します。
関連ページ:
コードインスペクション設定を構成する
設計時コードインスペクションを構成する:デフォルトでは、ReSharper は、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかに関係なく、コードインスペクションは常に特定のスコープで実行できます。メインメニューからを選択するか、Alt+R O を押してから、左側のを選択します。設計時コードインスペクションを切り替えるには、コード分析を有効にするチェックボックスを使用し...
コードの問題のクイックフィックス
ReSharper を使用すると、設計時に検出されたほとんどのコード問題を即座に修復できます。ハイライトされたコードの問題でを押して、問題を解決したり最適以下のコードを改善したりするための適切な方法を選択するのと同じくらい簡単です。クイックフィックスの適用:クイックフィックスは、ハイライトされたコードの問題の左側にアクションインジケーターとして視覚的に表示されます。これらのインジケーターは、コードの問題にキャレットを置くと表示されます。次のインジケーターは、簡単な修正を意味します。エラー重大
プロジェクト固有のプロパティを構成する
ReSharper の設定のメインセット(ReSharper | オプションダイアログで設定)は、グローバルまたはソリューションごとに適用されます。各プロジェクトまたはフォルダーごとに個別に設定できる環境設定もあります。これらの設定は、プロジェクトアイテムのプロパティポップアップで利用できます。プロジェクトアイテムのプロパティポップアップは、ソリューションエクスプローラーでプロジェクトのコンテキストメニューからプロジェクト項目のプロパティを編集するを選択して呼び出すことができます。他の ReSh...