跳到主要内容

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