跳到主内容

redirect_generative_to_non_generative_constructor

生成式构造函数不能重定向到工厂构造函数。

描述

#

当一个生成式构造函数重定向到工厂构造函数时,分析器会产生此诊断。

示例

#

以下代码会产生此诊断,因为生成式构造函数 C.a 重定向到了工厂构造函数 C.b

dart
class C {
  C.a() : this.b();
  factory C.b() => C.a();
}

常见修复

#

如果生成式构造函数不需要重定向到另一个构造函数,则移除重定向。

dart
class C {
  C.a();
  factory C.b() => C.a();
}

如果生成式构造函数必须重定向到另一个构造函数,则将另一个构造函数改为生成式(非工厂)构造函数

dart
class C {
  C.a() : this.b();
  C.b();
}