メインコンテンツにスキップ

final_initialized_in_declaration_and_constructor

'{0}' は final であり、宣言時に値が代入されているため、新しい値に設定することはできません。

説明

#

final フィールドが宣言時とコンストラクタのパラメータで、2 回初期化された場合に、アナライザはこの診断を生成します。

#

以下のコードでは、フィールド f が 2 回初期化されているため、この診断が生成されます。

dart
class C {
  final int f = 0;

  C(this.f);
}

一般的な修正

#

フィールドがすべてのインスタンスで同じ値を持つべき場合は、パラメータリストでの初期化を削除してください。

dart
class C {
  final int f = 0;

  C();
}

フィールドがインスタンスごとに異なる値を持つことができる場合は、宣言での初期化を削除してください。

dart
class C {
  final int f;

  C(this.f);
}