undefined_super_member
(之前称为 undefined_super_method
)
Getter '{0}' 未在 '{1}' 的超类中定义。
方法 '{0}' 未在 '{1}' 的超类中定义。
运算符 '{0}' 未在 '{1}' 的超类中定义。
Setter '{0}' 未在 '{1}' 的超类中定义。
描述
#当使用 super
引用继承成员(方法、getter、setter 或运算符),但在超类链中没有同名成员时,分析器会产生此诊断。
示例
#以下代码会产生此诊断,因为 Object
中未定义名为 n
的方法
dart
class C {
void m() {
super.n();
}
}
以下代码会产生此诊断,因为 Object
中未定义名为 g
的 getter
dart
class C {
void m() {
super.g;
}
}
常见修复方法
#如果您打算调用的继承成员名称不同,请确保调用的成员名称与继承成员名称一致。
如果您打算调用的成员定义在同一个类中,请移除 super.
。
如果该成员未定义,请将其添加到其中一个超类中,或移除该调用。