extra_positional_arguments_could_be_named
位置参数过多:预期 {0} 个,但找到 {1} 个。
描述
#当方法或函数调用具有比方法或函数允许的更多位置参数,但方法或函数定义了命名参数时,分析器会产生此诊断信息。
示例
#以下代码产生此诊断信息,因为 f
定义了 2 个位置参数,但有一个可用于第三个参数的命名参数
dart
void f(int a, int b, {int? c}) {}
void g() {
f(1, 2, 3);
}
常见修复方法
#如果某些参数应为命名参数的值,则在参数前添加名称
dart
void f(int a, int b, {int? c}) {}
void g() {
f(1, 2, c: 3);
}
否则,移除不对应于位置参数的参数
dart
void f(int a, int b, {int? c}) {}
void g() {
f(1, 2);
}