コード検査: 派生型を介した型の静的メンバーへのアクセス
このエラーは、型から派生した型を介して型の静的メンバーにアクセスするコードで発生します。例:
上記のコードは、フィールド N
がタイプ B
に属しているのに、そうではないという誤った認識を引き起こします。さらに、型 A
と B
が異なるアセンブリに導入された場合、Main()
メソッドは B
のアセンブリに不要な依存関係を導入することになりますが、これは回避できます。
ファクトリメソッドへの呼び出しによって、さらに混乱する状況が発生する可能性があります。var
で変数を定義すると、得られる型は期待通りではないかもしれません。たとえば
上記のコードは、Create()
操作の結果が HttpWebRequest
型のオブジェクトであることを提案していますが、実際にはそうではありません。結果は WebRequest
型であり、次のように記述するのが最適です。
また、C# コンパイラーは宣言型を使用してメソッドの呼び出しを作成するため、IL では実際には基本型の呼び出しになります。後で new
修飾子と同じシグネチャーを持つメソッドを派生型に追加した場合、再コンパイルしない限りコードの動作は変わりません。
関連ページ:
コードインスペクション設定を構成する
設計時コードインスペクションを構成する:デフォルトでは、JetBrains Rider はサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかにかかわらず、コードインスペクションを特定の範囲でいつでも実行できます。「鉛筆」ウィジェットを使用して、エディターから直接インスペクション設定をすばやく調整するか、設定でより詳細な構成を行うことができます。を押すか、メニューから(W...
コード検査: 'value' パラメーターが使用されていません
パラメーターを使用するケースは 3 つあります。プロパティの割り当て、インデクサによるアクセス、イベントの追加 / 削除、これらすべての場合において、JetBrains Rider は、実際に変数を使用することを想定しており、使用されていない場合は警告を発行します。通常、値が存在しないということはエラーを示しますが、もちろん、必要のない状況が発生する可能性があります。たとえば、実装なしで偽のオブジェクトを実装しようとしている場合などです。コード検査:...