跳到主要內容

implicit_this_reference_in_initializer

例項成員 '{0}' 不能在初始化式中訪問。

描述

#

分析器在建構函式的初始化列表中發現對例項成員的引用時,會產生此診斷資訊。

示例

#

以下程式碼會產生此診斷資訊,因為 defaultX 是一個例項成員

dart
class C {
  int x;

  C() : x = defaultX;

  int get defaultX => 0;
}

常見修復方法

#

如果該成員可以設為 static,則進行相應修改

dart
class C {
  int x;

  C() : x = defaultX;

  static int get defaultX => 0;
}

如果不能,則將初始化式中的引用替換為不使用例項成員的其他表示式

dart
class C {
  int x;

  C() : x = 0;

  int get defaultX => 0;
}