JetBrains Rider 2024.1 ヘルプ

コード検査: ソース式は常に提供されたパターンと一致する

以下の例では、case string myStr は型チェックのように見えますが、実際には 2 つのことを行います。

  • System.String のインスタンスの str をチェックします。

  • strnull ではないことを確認します。

ただし、メソッドシグネチャーによれば、strSystem.String のインスタンスであるため、case string myStr の唯一の目的は、strnull であるかどうかを確認することです。

そのため、JetBrains Rider は、一致する式で使用される型パターンがコードの実際のセマンティクスを示さないことを通知します。これは単なる null チェックです。

パターンマッチング式での null チェックの場合、C# 8 は次の構文のオブジェクトパターンを導入します: { } このパターンは、null 値を除くすべてに一致するように設計されており、クイックフィックスで提案されています。

void Test(string str) { switch (str) { case string myStr: // use myStr break; } }
void Test(string str) { switch (str) { case { } myStr: // use myStr break; } }

式のタイプが変わらないときにタイプパターンの代わりにオブジェクトパターンを使用すると、次の利点があります。

  • コードを読んだ人なら誰でも、これは単なる null チェックであることがわかります。

  • 最初の例のコードをリファクタリングして、たとえば str パラメーターの型を object に変更した場合、コードは引き続きコンパイルされますが、型チェックを実行します。ランタイム。一方、{ } myStr は常に NULL チェックを行い、str の型に関係なく同様に動作します。

関連ページ:

コードインスペクション設定を構成する

設計時コードインスペクションを構成する:デフォルトでは、JetBrains Rider はサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかにかかわらず、コードインスペクションを特定の範囲でいつでも実行できます。「鉛筆」ウィジェットを使用して、エディターから直接インスペクション設定をすばやく調整するか、設定でより詳細な構成を行うことができます。を押すか、メニューから(W...

コードの問題のクイックフィックス

JetBrains Rider を使用すると、設計時に検出されたほとんどのコード問題を即座に修復できます。ハイライトされたコードの問題でを押して、問題を解決したり最適以下のコードを改善したりするための適切な方法を選択するのと同じくらい簡単です。クイックフィックスの適用:クイックフィックスは、ハイライトされたコードの問題の左側にアクションインジケーターとして視覚的に表示されます。これらのインジケーターは、コードの問題にキャレットを置くと表示されます。次のインジケーターは、簡単な修正を意味する