跳到主要内容

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