跳到主要内容

extension_conflicting_static_and_instance

扩展不能定义名为“{0}”的静态成员和同名的实例成员。

描述

#

当扩展声明包含同名的实例成员和静态成员时,分析器会生成此诊断消息。实例成员和静态成员不能同名,因为在扩展体内部非限定地使用该名称时,不清楚引用的是哪个成员。

示例

#

以下代码会生成此诊断消息,因为名称 a 被用于两个不同的成员

dart
extension E on Object {
  int get a => 0;
  static int a() => 0;
}

常见修复方法

#

重命名或移除其中一个成员

dart
extension E on Object {
  int get a => 0;
  static int b() => 0;
}