跳到主要內容

initializer_for_non_existent_field

'{0}' 不是包含該建構函式的類中的欄位。

描述

#

當建構函式初始化一個未在其包含該建構函式的類中宣告的欄位時,分析器會生成此診斷資訊。建構函式無法初始化未宣告的欄位以及從超類繼承的欄位。

示例

#

以下程式碼會生成此診斷資訊,因為初始化表示式正在初始化 x,但 x 不是類中的欄位

dart
class C {
  int? y;

  C() : x = 0;
}

常見修復方法

#

如果應初始化其他欄位,請將名稱更改為該欄位的名稱

dart
class C {
  int? y;

  C() : y = 0;
}

如果該欄位必須宣告,請新增宣告

dart
class C {
  int? x;
  int? y;

  C() : x = 0;
}