跳到主要內容

non_final_field_in_enum

列舉只能宣告 final 欄位。

描述

#

當列舉中的例項欄位未被標記為 final 時,分析器會產生此診斷。

示例

#

以下程式碼會產生此診斷,因為欄位 f 不是 final 欄位

dart
enum E {
  c;

  int f = 0;
}

常見修復方法

#

如果該欄位必須在列舉中定義,則將其標記為 final

dart
enum E {
  c;

  final int f = 0;
}

如果該欄位可以移除,則將其移除

dart
enum E {
  c
}