跳到主內容

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