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

initializer_for_non_existent_field

'{0}' は、囲んでいるクラスのフィールドではありません。

説明

#

コンストラクタが、そのコンストラクタを含むクラスに宣言されていないフィールドを初期化する場合、アナライザはこの診断を生成します。コンストラクタは、宣言されていないフィールドやスーパークラスから継承されたフィールドを初期化することはできません。

#

次のコードは、初期化子が x を初期化していますが、x はクラスのフィールドではないため、この診断を生成します。

dart
class C {
  int? y;

  C() : x = 0;
}

一般的な修正

#

別のフィールドを初期化する必要がある場合は、フィールドの名前に名前を変更してください。

dart
class C {
  int? y;

  C() : y = 0;
}

フィールドを宣言する必要がある場合は、宣言を追加してください。

dart
class C {
  int? x;
  int? y;

  C() : x = 0;
}