跳至主要内容

nullable_type_in_extends_clause

类不能继承可空类型。

描述

#

当类声明使用 extends 子句指定超类,并且超类后跟 ? 时,分析器会生成此诊断信息。

指定可空超类无效,因为这样做没有意义;它不会改变包含 extends 子句的类所继承的接口或实现。

然而,请注意,将可空类型用作超类的类型参数是*有效*的,例如 class A extends B<C?> {}

示例

#

以下代码会产生此诊断信息,因为 A? 是可空类型,而可空类型不能在 extends 子句中使用

dart
class A {}
class B extends A? {}

常见修复

#

从类型中删除问号

dart
class A {}
class B extends A {}