ReSharper 2025.3 ヘルプ

コード検査: 派生型を介した型の静的メンバーへのアクセス

このエラーは、型から派生した型を介して型の静的メンバーにアクセスするコードで発生します。例:

class A { public static int N; } class B : A { } static void Main(string [] args) { B.N = 3; // warning here }

上記のコードは、フィールド N がタイプ B に属しているのに、そうではないという誤った認識を引き起こします。さらに、型 AB が異なるアセンブリに導入された場合、Main() メソッドは B のアセンブリに不要な依存関係を導入することになりますが、これは回避できます。

ファクトリメソッドへの呼び出しによって、さらに混乱する状況が発生する可能性があります。var で変数を定義すると、得られる型は期待通りではないかもしれません。たとえば

var request = HttpWebRequest.Create("http://someplace.com");

上記のコードは、Create() 操作の結果が HttpWebRequest 型のオブジェクトであることを提案していますが、実際にはそうではありません。結果は WebRequest 型であり、次のように記述するのが最適です。

var request = WebRequest.Create("http://someplace.com");

また、C# コンパイラーは宣言型を使用してメソッドの呼び出しを作成するため、IL では実際には基本型の呼び出しになります。後で new 修飾子と同じシグネチャーを持つメソッドを派生型に追加した場合、再コンパイルしない限りコードの動作は変わりません。

2024 年 2 月 11 日

関連ページ:

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

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

コード検査: 'value' パラメーターが使用されていません

パラメーターを使用するケースは 3 つあります。プロパティの割り当て、インデクサによるアクセス、イベントの追加 / 削除、これらすべての場合において、ReSharper は、実際に変数を使用することを想定しており、使用されていない場合は警告を発行します。通常、値が存在しないということはエラーを示しますが、もちろん、必要のない状況が発生する可能性があります。たとえば、実装なしで偽のオブジェクトを実装しようとしている場合などです。2024 年 2 月 11 日コード検査: 「if-return」ステ...