ReSharper 2024.3 ヘルプ

コード検査: 'GetType()' の呼び出しが誤っている可能性があります

このインスペクションは、型をチェックする必要があるオブジェクトを期待する型チェックメソッドの引数で GetType() が使用されているケースを報告します。

以下の例では、拡張メソッド IsInstanceOfType() はオブジェクトを期待しており、その型を期待していません。これは一見して明らかではありません。その結果、コードは期待どおりに動作しません。この場合、GetType() によって返される System.TypeObject と互換性があるため、コンパイラーは警告やエラーを発行しません。

public bool IsOfType(Type type, object value) { return type.IsInstanceOfType(value.GetType()); }
public bool IsOfType(Type type, object value) { return type.IsInstanceOfType(value); }

関連ページ:

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

設計時コードインスペクションを構成する:デフォルトでは、ReSharper は、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかに関係なく、コードインスペクションは常に特定のスコープで実行できます。メインメニューからを選択するか、Alt+R O を押してから、左側のを選択します。設計時コードインスペクションを切り替えるには、コード分析を有効にするチェックボックスを使用し...

コード検査: 'System.Type' 型の引数が間違っている可能性があります

このインスペクションは、型チェックが必要なオブジェクトの代わりに、型チェックメソッドで型の引数が使用されているケースを報告します。以下の例では、拡張メソッド IsInstanceOfType() はオブジェクトを期待しており、オブジェクトの型を期待していないため、一見して明らかではありません。その結果、インテンションがパラメーターで渡された 2 つの型の互換性をチェックする場合、コードは期待どおりに動作しません。コードのインテンションが 2 つのオブジェクトの互換性をチェックする場合、拡張メソッドを...