跳到主要内容

field_initializer_factory_constructor

初始化形参不能用于工厂构造函数。

描述

#

当工厂构造函数包含初始化形参时,分析器会产生此诊断信息。工厂构造函数无法为字段赋值,因为没有创建实例;因此,也就没有字段可以赋值。

示例

#

以下代码会产生此诊断信息,因为工厂构造函数使用了初始化形参

dart
class C {
  int? f;

  factory C(this.f) => throw 0;
}

常见修复方法

#

将初始化形参替换为普通形参

dart
class C {
  int? f;

  factory C(int f) => throw 0;
}