conflicting_generic_interfaces
型引数が異なるため、'{0}' '{1}' は '{2}' と '{3}' の両方を実装できません。
説明
#クラスがジェネリックインターフェイスを複数回実装しようとし、型引数の値が同じでない場合に、アナライザーはこの診断を生成します。
例
#次のコードは、C が A を拡張するため I<int> の両方を実装し、B を実装するため I<String> の両方を実装するように定義されているため、この診断を生成しますが、int と String は同じ型ではありません。
dart
class I<T> {}
class A implements I<int> {}
class B implements I<String> {}
class C extends A implements B {}一般的な修正
#この状況を回避するために、型階層を再設計してください。たとえば、継承された型の 1 つまたは両方をジェネリックにして、C が両方の型引数に同じ型を指定できるようにすることができます。
dart
class I<T> {}
class A<S> implements I<S> {}
class B implements I<String> {}
class C extends A<String> implements B {}