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

無効な_修飾子_コンストラクタ_

修飾子「{0}」はコンストラクタの本体に適用できません。

説明

#

コンストラクタの本体が次のいずれかの修飾子でプレフィックスされている場合、アナライザはこの診断を生成します: asyncasync*、または sync*。コンストラクタの本体は同期である必要があります。

#

次のコードは、C のコンストラクタの本体が async としてマークされているため、この診断を生成します。

dart
class C {
  C() async {}
}

一般的な修正

#

コンストラクタが同期可能であれば、修飾子を削除してください。

dart
class C {
  C();
}

コンストラクタが同期不可能であれば、代わりに静的メソッドを使用してインスタンスを作成してください。

dart
class C {
  C();
  static Future<C> c() async {
    return C();
  }
}