跳到主要內容

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

常見修復方法

#

重新命名成員或建構函式。