extension_override_argument_not_assignable
扩展覆盖 '{0}' 的参数类型无法赋值给被扩展的类型 '{1}'。
描述
#当扩展覆盖的参数无法赋值给该扩展所扩展的类型时,分析器会生成此诊断。
示例
#以下代码会生成此诊断,因为 3
不是 String
类型
dart
extension E on String {
void method() {}
}
void f() {
E(3).method();
}
常见修复方法
#如果您使用的是正确的扩展,则将参数更新为正确的类型
dart
extension E on String {
void method() {}
}
void f() {
E(3.toString()).method();
}
如果存在适用于该参数类型的其他扩展,则可以替换扩展的名称,或者解开参数以便找到正确的扩展。