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

field_initializing_formal_not_assignable

パラメータの型「{0}」は、フィールドの型「{1}」と互換性がありません。

説明

#

初期化フォーマルパラメータの型が、初期化されるフィールドの型に代入可能でない場合に、アナライザーはこの診断を生成します。

#

以下のコードは、初期化フォーマルパラメータの型がStringであり、フィールドの型がintであるため、この診断を生成します。パラメータは、フィールドの型のサブタイプである必要があります。

dart
class C {
  int f;

  C(String this.f);
}

一般的な修正

#

フィールドの型が正しくない場合は、フィールドの型をパラメータの型と一致するように変更し、パラメータから型を削除することを検討してください。

dart
class C {
  String f;

  C(this.f);
}

パラメータの型が正しくない場合は、パラメータの型を削除してください。

dart
class C {
  int f;

  C(this.f);
}

フィールドとパラメータの両方の型が正しい場合は、パラメータ値を正しい型の値に変換するために、初期化フォーマルパラメータではなくイニシャライザを使用してください。

dart
class C {
  int f;

  C(String s) : f = int.parse(s);
}