跳到主要内容

inconsistent_inheritance

超类接口没有 '{0}' 的有效重写:{1}。

描述

#

当一个类继承了成员的两个或多个冲突签名,并且没有提供一个能够满足所有继承签名实现的成员时,分析器会产生此诊断信息。

示例

#

以下代码产生此诊断信息,因为类 CA 继承了 m 的声明,而该实现与从 B 继承的 m 签名不一致。

dart
class A {
  void m({int? a}) {}
}

class B {
  void m({int? b}) {}
}

class C extends A implements B {
}

常见修复方法

#

添加一个满足所有继承签名的成员实现。

dart
class A {
  void m({int? a}) {}
}

class B {
  void m({int? b}) {}
}

class C extends A implements B {
  void m({int? a, int? b}) {}
}