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
}