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

初期化_フォーマル_存在しない_フィールドのため

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

説明

#

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

#

次のコードは、フィールド x が定義されていないため、この診断を生成します。

dart
class C {
  int? y;

  C(this.x);
}

一般的な修正

#

フィールド名が間違っている場合は、既存のフィールドの名前に変更してください。

dart
class C {
  int? y;

  C(this.y);
}

フィールド名が正しいが、まだ定義されていない場合は、フィールドを宣言してください。

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

  C(this.x);
}

パラメータが必要だがフィールドを初期化すべきでない場合は、通常のパラメータに変換して使用してください。

dart
class C {
  int y;

  C(int x) : y = x * 2;
}

パラメータが不要な場合は、削除してください。

dart
class C {
  int? y;

  C();
}