跳到主要內容

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