跳到主要內容

mixin_class_declares_constructor

類 '{0}' 不能用作混入,因為它聲明瞭建構函式。

描述

#

當一個類被用作混入且該混入類定義了建構函式時,分析器會產生此診斷資訊。

示例

#

以下程式碼會產生此診斷資訊,因為定義了建構函式的類 A 被用作混入:

dart
//@dart=2.19
class A {
  A();
}

class B with A {}

常見修復方法

#

如果可以將該類轉換為混入,則進行轉換

dart
mixin A {
}

class B with A {}

如果該類不能是混入且可以移除建構函式,則進行移除

dart
//@dart=2.19
class A {
}

class B with A {}

如果該類不能是混入且無法移除建構函式,則嘗試擴充套件或實現該類,而不是將其混入

dart
class A {
  A();
}

class B extends A {}