跳到主要内容

unqualified_reference_to_non_local_static_member

来自超类型的静态成员必须由定义类型的名称限定。

描述

#

当一个类中的代码引用超类中的静态成员而未在该成员名称前加上超类名称时,分析器会产生此诊断。静态成员只有在其声明的类中才可以不带前缀引用。

示例

#

以下代码会产生此诊断,因为静态字段 x 在 getter g 中引用时,未在其名称前加上定义类的名称:

dart
class A {
  static int x = 3;
}

class B extends A {
  int get g => x;
}

常见修复方法

#

在静态成员的名称前加上声明类的名称

dart
class A {
  static int x = 3;
}

class B extends A {
  int get g => A.x;
}