must_be_immutable
此类别(或此类别继承的类别)标记为 '@immutable',但其一个或多个实例字段不是 final:{0}
描述
#当不可变类别定义一个或多个非 final 实例字段时,分析器会生成此诊断信息。如果类别使用 immutable
注释标记为不可变,或者它是不可变类别的子类,则该类别是不可变的。
示例
#以下代码会生成此诊断信息,因为字段 x
不是 final
dart
import 'package:meta/meta.dart';
@immutable
class C {
int x;
C(this.x);
}
常见修复方法
#如果类别实例应为不可变,请将关键字 final
添加到所有非 final 字段声明
dart
import 'package:meta/meta.dart';
@immutable
class C {
final int x;
C(this.x);
}
如果类别实例应为可变,请移除注释,或者如果注释是继承的,请选择不同的超类
dart
class C {
int x;
C(this.x);
}