跳到主要内容

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);
}