跳到主要内容

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