跳到主內容

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();
}