extension_type_inherited_member_conflict
拡張型 '{0}' は、実装された型から名前 '{1}' を持つ重複したメンバーを複数持っています。
説明
#この診断は、拡張型が2つ以上の型を実装し、それらの型のうち少なくとも2つが同じ名前のメンバーを宣言している場合にアナライザーによって生成されます。
例
#次のコードは、拡張型 C が A と B の両方を実装しており、両方とも m という名前のメンバーを宣言しているため、この診断を生成します。
dart
class A {
void m() {}
}
extension type B(A a) {
void m() {}
}
extension type C(A a) implements A, B {}一般的な修正
#拡張型がリストされたすべての型を実装する必要がない場合は、競合するメンバーを導入している型を1つだけ残して削除してください。
dart
class A {
void m() {}
}
extension type B(A a) {
void m() {}
}
extension type C(A a) implements A {}拡張型がリストされたすべての型を実装する必要があり、それらの型でメンバーの名前を変更できる場合は、競合するメンバーに一意の名前を付けてください。
dart
class A {
void m() {}
}
extension type B(A a) {
void n() {}
}
extension type C(A a) implements A, B {}