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);
}