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

redirect_to_non_class

名前「{0}」は型ではなく、リダイレクトされたコンストラクタでは使用できません。

説明

#

ファクトリコンストラクタを実装する 1 つの方法は、コンストラクタの名前を参照して別のコンストラクタにリダイレクトすることです。アナライザは、コンストラクタ以外のものにリダイレクトされた場合に、この診断を生成します。

#

以下のコードは、f が関数であるため、この診断を生成します。

dart
C f() => throw 0;

class C {
  factory C() = f;
}

一般的な修正

#

コンストラクタが定義されていない場合は、定義するか、定義されているコンストラクタに置き換えてください。

コンストラクタは定義されているが、それを定義しているクラスが表示されない場合は、おそらくインポートを追加する必要があります。

関数の戻り値を返そうとしている場合は、コンストラクタの本体から値を返すようにコンストラクタを書き直してください。

dart
C f() => throw 0;

class C {
  factory C() => f();
}