跳到主要內容

invalid_factory_method_impl

工廠方法 '{0}' 未返回新分配的物件。

描述

#

當標記有 factory 註解的方法未返回新分配的物件時,分析器會產生此診斷資訊。

示例

#

以下程式碼會產生此診斷資訊,因為方法 createC 返回的是欄位的值,而不是 C 的新建立例項:

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 {}