メインコンテンツにスキップ

missing_enum_constant_in_switch

'{0}' の case 節がありません。

説明

#

enum の switch ステートメントに enum の値のいずれかのオプションが含まれていない場合に、アナライザーがこの診断を生成します。

null は常に enum の可能な値であり、そのため処理する必要があることに注意してください。

#

以下のコードは、enum の値 e2 が処理されていないため、この診断を生成します。

dart
enum E { e1, e2 }

void f(E e) {
  switch (e) {
    case E.e1:
      break;
  }
}

一般的な修正

#

欠落している値に特別な処理がある場合は、欠落している各値に対して case 節を追加してください。

dart
enum E { e1, e2 }

void f(E e) {
  switch (e) {
    case E.e1:
      break;
    case E.e2:
      break;
  }
}

欠落している値を同じように処理する場合は、default 節を追加してください。

dart
enum E { e1, e2 }

void f(E e) {
  switch (e) {
    case E.e1:
      break;
    default:
      break;
  }
}