跳到主要内容

private_collision_in_mixin_application

私有名称“{0}”(由“{1}”定义)与“{2}”定义的同名私有成员冲突。

描述

#

当两个定义了相同私有成员的 mixin 在定义这些 mixin 的库之外的库中,于同一个类中一起使用时,分析器会生成此诊断。

示例

#

假设有一个文件 a.dart 包含以下代码

dart
mixin A {
  void _foo() {}
}

mixin B {
  void _foo() {}
}

以下代码会产生此诊断,因为 mixin AB 都定义了方法 _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 中的冲突成员。