跳到主要内容

conflicting_constructor_and_static_member

在此类中,'{0}' 不能既用作构造函数的名称,又用作静态字段的名称。

在此类中,'{0}' 不能既用作构造函数的名称,又用作静态 getter 的名称。

在此类中,'{0}' 不能既用作构造函数的名称,又用作静态方法的名称。

在此类中,'{0}' 不能既用作构造函数的名称,又用作静态 setter 的名称。

描述

#

当命名构造函数与静态方法或静态字段具有相同的名称时,分析器会生成此诊断信息。两者都使用类名访问,因此同名会使引用产生歧义。

示例

#

以下代码会生成此诊断信息,因为静态字段 foo 和命名构造函数 foo 具有相同的名称

dart
class C {
  C.foo();
  static int foo = 0;
}

以下代码会生成此诊断信息,因为静态方法 foo 和命名构造函数 foo 具有相同的名称

dart
class C {
  C.foo();
  static void foo() {}
}

常见修复方法

#

重命名成员或构造函数。