const_constructor_with_field_initialized_by_non_const
无法定义 'const' 构造函数,因为字段 '{0}' 是用非常量值初始化的。
描述
#当构造函数带有 const
关键字,但类中的某个字段初始化为一个非常量值时,分析器会生成此诊断消息。
示例
#以下代码会产生此诊断消息,因为字段 s
初始化为一个非常量值
dart
String x = '3';
class C {
final String s = x;
const C();
}
常见解决方法
#如果字段可以初始化为常量值,则将初始化器更改为常量表达式
dart
class C {
final String s = '3';
const C();
}
如果字段不能初始化为常量值,则从构造函数中移除 const
关键字
dart
String x = '3';
class C {
final String s = x;
C();
}