跳到主要内容

invalid_use_of_visible_for_overriding_member

成员 '{0}' 只能用于覆盖。

描述

#

解析器会在以下情况产生此诊断:当一个使用 visibleForOverriding 注解标记的实例成员在其声明所在的库之外被引用,且并非出于覆盖目的时。

示例

#

假设有一个文件 a.dart 包含以下声明

dart
import 'package:meta/meta.dart';

class A {
  @visibleForOverriding
  void a() {}
}

以下代码会产生此诊断,因为方法 m 被调用了,尽管它之所以是公共的唯一原因是为了允许它被覆盖。

dart
import 'a.dart';

class B extends A {
  void b() {
    a();
  }
}

常见修复

#

移除对该成员的无效使用。