private_collision_in_mixin_application
私有名称“{0}”(由“{1}”定义)与“{2}”定义的同名私有成员冲突。
描述
#当两个定义了相同私有成员的 mixin 在定义这些 mixin 的库之外的库中,于同一个类中一起使用时,分析器会生成此诊断。
示例
#假设有一个文件 a.dart
包含以下代码
dart
mixin A {
void _foo() {}
}
mixin B {
void _foo() {}
}
以下代码会产生此诊断,因为 mixin A
和 B
都定义了方法 _foo
dart
import 'a.dart';
class C extends Object with A, B {}
常见修复方法
#如果你不需要这两个 mixin,请从 with
子句中移除其中一个
dart
import 'a.dart';
class C extends Object with A, B {}
如果你需要这两个 mixin,请重命名其中一个 mixin 中的冲突成员。