跳到主要內容

extension_override_access_to_static_member

擴充套件覆蓋不能用於訪問擴充套件中的靜態成員。

描述

#

當擴充套件覆蓋被用作靜態成員呼叫的接收者時,分析器會產生此診斷。與類中的靜態成員類似,擴充套件的靜態成員應使用副檔名稱而不是擴充套件覆蓋來訪問。

示例

#

以下程式碼會產生此診斷,因為 m 是靜態的

dart
extension E on String {
  static void m() {}
}

void f() {
  E('').m();
}

常見修復

#

將擴充套件覆蓋替換為副檔名稱

dart
extension E on String {
  static void m() {}
}

void f() {
  E.m();
}