跳到主要內容

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();
  }
}

常見修復

#

移除對該成員的無效使用。