mixin_inherits_from_not_object
类 '{0}' 不能用作 mixin,因为它继承了 'Object' 以外的类。
描述
#当一个继承了除 Object 之外的类的类被用作 mixin 时,分析器会产生此诊断。
示例
#以下代码产生此诊断,因为类 B 继承了 A,但被 C 用作 mixin
dart
//@dart=2.19
class A {}
class B extends A {}
class C with B {}常见修复
#如果用作 mixin 的类可以更改为继承 Object,则更改它
dart
//@dart=2.19
class A {}
class B {}
class C with B {}如果用作 mixin 的类不能更改,并且使用它的类继承了 Object,则直接继承被用作 mixin 的类
dart
class A {}
class B extends A {}
class C extends B {}如果该类不继承 Object,或者你想在其他地方也能混入 B 的行为,那么创建一个真正的 mixin
dart
class A {}
mixin M on A {}
class B extends A with M {}
class C extends A with M {}