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

無効な_ファクトリ_名_クラスではない

ファクトリコンストラクタの名前は、直前にあるクラスの名前と同じでなければなりません。

説明

#

ファクトリコンストラクタの名前が、囲んでいるクラスの名前と同じでない場合に、アナライザはこの診断を生成します。

#

以下のコードは、ファクトリコンストラクタの名前 (A) が囲んでいるクラス (C) と同じではないため、この診断を生成します。

dart
class A {}

class C {
  factory A() => throw 0;
}

一般的な修正

#

ファクトリが囲んでいるクラスのインスタンスを返す場合、そしてそれを名前のないファクトリコンストラクタとして意図している場合は、ファクトリの名前を変更してください。

dart
class A {}

class C {
  factory C() => throw 0;
}

ファクトリが囲んでいるクラスのインスタンスを返す場合、そしてそれを名前付きファクトリコンストラクタとして意図している場合は、ファクトリコンストラクタの名前に囲んでいるクラスの名前をプレフィックスとして付けてください。

dart
class A {}

class C {
  factory C.a() => throw 0;
}

ファクトリが別のクラスのインスタンスを返す場合は、そのファクトリをそのクラスに移動してください。

dart
class A {
  factory A() => throw 0;
}

class C {}

ファクトリが別のクラスのインスタンスを返す場合、しかしそのクラスを変更できない、またはファクトリを移動したくない場合は、それをスタティックメソッドに変換してください。

dart
class A {}

class C {
  static A a() => throw 0;
}