跳到主要内容

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