ReSharper 2025.3 ヘルプ

コード検査: 列挙型の一部の値は 'switch' ステートメント内で処理されず、デフォルトセクションを介して処理されます

enumswitch ステートメントを使用する場合、列挙値ごとに case ステートメントを持つ必要はありません。一部の値にケースがない場合、それらは default セクションで処理されます。

これは、作成者が重要でない値を処理することを目的としている場合があります。ただし、これは、enum に新しい値を追加し、それに応じて switch を更新するのを忘れた結果でもある可能性があります。

ReSharper は、そのような switch ステートメントに潜在的な問題としてフラグを立て、未処理の値に対して case ステートメントを生成することを提案します。

enum TestEnum { A, B } class Program { void Test(TestEnum testEnum) { switch (testEnum) { case TestEnum.A: Console.WriteLine("A"); break; // case E.B will be handled in the default section default: Console.WriteLine("X"); break; } } }
2024 年 2 月 11 日

関連ページ:

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

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

コード検査: 列挙型の一部の値は、'switch' ステートメント内で処理されません

でステートメントを使用する場合、列挙値ごとにステートメントを指定する必要はありません。一部の値にケースがない場合、はそのような値に対して何もしません。欠落しているケースは作成者が意図している可能性がありますが、多くの場合、に新しい値を追加し、それに応じてを更新し忘れた結果です。ReSharper は、そのようなステートメントに潜在的な問題としてフラグを立て、未処理の値に対してステートメントを生成することを提案します。enum TestEnum { A, B } class Program { v...