跳到主要內容

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