跳到主要內容

static_access_to_instance_member

無法使用靜態訪問來訪問例項成員 '{0}'。

描述

#

當使用類名訪問例項欄位時,分析器會產生此診斷。例項欄位不存在於類本身上;它們只存在於類的例項上。

示例

#

以下程式碼會產生此診斷,因為 x 是一個例項欄位

dart
class C {
  static int a = 0;

  int b = 0;
}

int f() => C.b;

常見修復方法

#

如果你想訪問靜態欄位,則將欄位名稱更改為已存在的靜態欄位

dart
class C {
  static int a = 0;

  int b = 0;
}

int f() => C.a;

如果你想訪問例項欄位,則使用類的例項來訪問該欄位

dart
class C {
  static int a = 0;

  int b = 0;
}

int f(C c) => c.b;