跳到主要內容

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