redeclare_on_non_redeclaring_member
成員 {0} 未重新宣告超介面中宣告的 {0}。
描述
#當擴充套件型別的某個成員使用 `@redeclare` 進行註解,但其實現的介面中沒有同名成員時,分析器會生成此診斷。
示例
#以下程式碼會生成此診斷,因為擴充套件型別 `E` 中宣告的成員 `n` 使用了 `@redeclare` 註解,但 `C` 沒有名為 `n` 的成員
dart
import 'package:meta/meta.dart';
class C {
void m() {}
}
extension type E(C c) implements C {
@redeclare
void n() {}
}常見修復方法
#如果帶註解的成員名稱正確,則移除註解
dart
class C {
void m() {}
}
extension type E(C c) implements C {
void n() {}
}如果帶註解的成員旨在替換實現的介面中的成員,則更改帶註解成員的名稱以匹配被替換的成員
dart
import 'package:meta/meta.dart';
class C {
void m() {}
}
extension type E(C c) implements C {
@redeclare
void m() {}
}