跳到主要內容

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 中的衝突成員。