undefined_named_parameter
命名参数 '{0}' 未定义。
描述
#当方法或函数调用中存在命名参数,但被调用的方法或函数没有定义同名参数时,分析器会产生此诊断。
示例
#以下代码会产生此诊断,因为 m
没有声明名为 a
的命名参数。
dart
class C {
m({int? b}) {}
}
void f(C c) {
c.m(a: 1);
}
常见修复方法
#如果参数名输入错误,请将其替换为正确的名称。上述示例可以通过将 a
改为 b
来修复。
dart
class C {
m({int? b}) {}
}
void f(C c) {
c.m(b: 1);
}
如果子类添加了该名称的参数,则将接收者转换为子类。
dart
class C {
m({int? b}) {}
}
class D extends C {
m({int? a, int? b}) {}
}
void f(C c) {
(c as D).m(a: 1);
}
如果应将参数添加到函数中,则添加它。
dart
class C {
m({int? a, int? b}) {}
}
void f(C c) {
c.m(a: 1);
}