field_initializing_formal_not_assignable
参数类型“{0}”与字段类型“{1}”不兼容。
描述
#当初始化形参的类型无法赋值给被初始化的字段类型时,分析器会产生此诊断。
示例
#以下代码会产生此诊断,因为初始化形参的类型是 String
,但字段的类型是 int
。参数的类型必须是字段类型的子类型。
dart
class C {
int f;
C(String this.f);
}
常见修复方法
#如果字段的类型不正确,则将字段类型更改为与参数类型匹配,并考虑移除参数的类型
dart
class C {
String f;
C(this.f);
}
如果参数的类型不正确,则移除参数的类型
dart
class C {
int f;
C(this.f);
}
如果字段和参数的类型都正确,则使用初始化表达式而非初始化形参将参数值转换为正确类型的值
dart
class C {
int f;
C(String s) : f = int.parse(s);
}