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