メインコンテンツにスキップ

mixin_inherits_from_not_object

クラス「{0}」は、'Object' 以外のクラスを拡張しているため、mixin として使用できません。

説明

#

この診断は、Object 以外のクラスを拡張しているクラスが mixin として使用された場合に、アナライザーによって生成されます。

#

以下のコードは、A を拡張するクラス BC によって 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 したい場合は、実際の mixin を作成してください。

dart
class A {}

mixin M on A {}

class B extends A with M {}

class C extends A with M {}