跳到主要內容

super_formal_parameter_without_associated_named

沒有關聯的同名 super 建構函式引數。

描述

#

當建構函式中存在一個命名 super 引數,而隱式或顯式呼叫的 super 建構函式中沒有同名命名引數時,分析器會生成此診斷資訊。

命名 super 引數是按名稱與 super 建構函式中的命名引數關聯的。

示例

#

以下程式碼生成此診斷資訊,因為 A 中的建構函式沒有名為 y 的引數

dart
class A {
  A({int? x});
}

class B extends A {
  B({super.y});
}

常見修復

#

如果 super 引數應與 super 建構函式中的現有引數關聯,則更改名稱以匹配相應引數的名稱

dart
class A {
  A({int? x});
}

class B extends A {
  B({super.x});
}

如果 super 引數應與尚未新增到 super 建構函式中的引數關聯,則新增該引數

dart
class A {
  A({int? x, int? y});
}

class B extends A {
  B({super.y});
}

如果 super 引數與 super 建構函式中的命名引數不對應,則將其更改為普通引數

dart
class A {
  A({int? x});
}

class B extends A {
  B({int? y});
}