跳到主要内容

private_setter

setter '{0}' 是私有的,不能在声明它的库之外访问。

描述

#

当在私有 setter 不可见的库中使用它时,分析器会生成此诊断。

示例

#

给定文件 a.dart,其中包含以下内容

dart
class A {
  static int _f = 0;
}

以下代码会产生此诊断,因为它引用了私有 setter _f,即使该 setter 不可见

dart
import 'a.dart';

void f() {
  A._f = 0;
}

常见修复方法

#

如果您可以将该 setter 设为公开,请这样做

dart
class A {
  static int f = 0;
}

如果您无法将该 setter 设为公开,请寻找其他方法来实现代码。