const_constructor_param_type_mismatch
类型为 '{0}' 的值不能赋值给 const 构造函数中类型为 '{1}' 的参数。
描述
#当常量值的运行时类型无法赋值给常量构造函数参数的静态类型时,分析器会产生此诊断信息。
示例
#以下代码会产生此诊断信息,因为 i
的运行时类型是 int
,它不能赋值给 s
的静态类型
dart
class C {
final String s;
const C(this.s);
}
const dynamic i = 0;
void f() {
const C(i);
}
常见修复方法
#向构造函数传递正确类型的值
dart
class C {
final String s;
const C(this.s);
}
const dynamic i = 0;
void f() {
const C('$i');
}