enum_mixin_with_instance_variable
應用於列舉的混入不能包含例項變數。
描述
#當應用於列舉的混入聲明瞭一個或多個例項變數時,分析器會產生此診斷資訊。這是不允許的,因為列舉值是常量,並且列舉中的建構函式無法初始化混入的任何欄位。
示例
#以下程式碼會產生此診斷資訊,因為混入 M 定義了例項欄位 x
dart
mixin M {
int x = 0;
}
enum E with M {
a
}常見修復
#如果您需要應用混入,請將所有例項欄位更改為 getter 和 setter 對,並在必要時在列舉中實現它們
dart
mixin M {
int get x => 0;
}
enum E with M {
a
}如果您不需要應用混入,請將其移除
dart
enum E {
a
}