ReSharper 2025.3 ヘルプ

コード検査: 冗長キャスト

C# のドキュメントによると、明示的な変換(キャスト)は次の場合に冗長です。

  • 派生クラスから基底クラスへの変換。

  • より小さい整数型からより大きな整数型への変換。

これらの場合、キャストはコンパイラーによって暗黙的に行われます。言うまでもなく、重複したキャストや同じ型の間のキャストも冗長です。

ReSharper は、暗黙的な変換で情報が失われない場合、または変換が常に成功する場合、明示的なキャストを削除することを提案しています。

class Base {} class Derived : Base {} class Program { static void Main() { Derived d = new Derived(); Base b = (Base) d; // ... } }
class Base {} class Derived : Base {} class Program { static void Main() { Derived d = new Derived(); Base b = d; // ... } }
2024 年 4 月 08 日

関連ページ:

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

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

コード検査: 戻り値の型は IEnumerable <T> (非公開アクセシビリティ)

メソッドがよりジェネリクスな型を返す場合、より柔軟な対応が可能になります。例: 使用箇所を更新せずにメソッドの実装を変更できます。また、より汎用的な型を返すことは、将来、戻り値をより具体的な型 (たとえば、) に変更する場合に役立つ可能性があります。呼び出し元がを期待している場合、を受け入れることができますが、その逆はできません。以下、ReSharper は、の戻り値の型をからに変更することを提案しています。ただし、このような置き換えは常に可能というわけではありません。派生型のメソッドがソリュー...