コード検査: 指定された 'is' 演算子は常に指定された型のものです
参照タイプ間の互換性チェック expr is type
では、左側の expr
が右側の type
に割り当て可能なタイプである可能性があります。
C# のドキュメント、"is 文が expr が null でなく、式を評価した結果のオブジェクトを型に変換できる場合は true、そうでない場合は false を返しますによると
つまり、このチェックが false
と評価される唯一のケースは、expr
が null
である場合です。
この場合のチェックの実際のセマンティクスを明らかにするには、is
チェックを単純な null チェックとして置き換える必要があります。
この警告はコンパイラーの警告 CS0183: 与えられた式は常に提供された('type' )型です(JetBrains Rider でも検出される)と似ていますが、参照型を扱いますが、コンパイラーの警告は値型の変換があるときに発生します。
関連ページ:
コードインスペクション設定を構成する
設計時コードインスペクションを構成する:デフォルトでは、JetBrains Rider はサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかにかかわらず、コードインスペクションを特定の範囲でいつでも実行できます。「鉛筆」ウィジェットを使用して、エディターから直接インスペクション設定をすばやく調整するか、設定でより詳細な構成を行うことができます。を押すか、メニューから(W...
コード検査: 部分的なメソッド宣言ではパラメーター名が異なります
部分的なメソッドを処理するとき、C# コンパイラーは、その名前ではなく、パラメーターの順序と型だけをチェックします。コンパイラーでは、宣言と実装宣言で同じパラメーターに対して異なる名前を使用できますが、下の例は、これが悪い習慣になる可能性があることを示しています。JetBrains Rider は、一致しないパラメーター名を検出し、同じパラメーターに同じ名前を使用することを提案します。どのパラメーター名が正しいことを意味しているかを推測することは不可能であるため、JetBrains Rider...