跳到主内容

type_init_formals

不要不必要地为初始化形式参数添加类型标注。

描述

#

当初始化形式参数(this.x)或超类参数(super.x)具有与字段或被覆盖参数相同的显式类型标注时,分析器会生成此诊断信息。

如果构造函数参数使用 this.x 来初始化字段,则参数的类型隐式地与字段类型相同。如果构造函数参数使用 super.x 来转发到超类构造函数,则参数的类型隐式地与超类构造函数参数相同。

示例

#

以下代码生成此诊断信息是因为参数 this.c 的显式类型与字段 c 相同

dart
class C {
  int c;

  C(int this.c);
}

以下代码生成此诊断信息是因为参数 super.a 的显式类型与超类中的参数 a 相同

dart
class A {
  A(int a);
}

class B extends A {
  B(int super.a);
}

常见修复

#

从参数中移除类型标注

dart
class C {
  int c;

  C(this.c);
}