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

無効な_ファクトリ_メソッド_実装

ファクトリメソッド「{0}」が新しく割り当てられたオブジェクトを返していません。

説明

#

メソッドにfactoryアノテーションが付いていても、新しく割り当てられたオブジェクトを返さない場合に、アナライザーはこの診断を生成します。

#

以下のコードは、メソッドcreateCCの新規作成インスタンスではなく、フィールドの値を返しているため、この診断を生成します。

dart
import 'package:meta/meta.dart';

class Factory {
  C c = C();

  @factory
  C createC() => c;
}

class C {}

一般的な修正

#

メソッドを、戻り値の型の新規作成インスタンスを返すように変更してください。

dart
import 'package:meta/meta.dart';

class Factory {
  @factory
  C createC() => C();
}

class C {}