跳到主要内容

nullable_type_in_with_clause

类或混入不能混入可空类型。

描述

#

当类或混入声明带有 with 子句,并且 mixin 后面跟着一个 ? 时,分析器会产生此诊断信息。

指定一个可空 mixin 是无效的,因为这样做没有意义;它既不会改变包含 with 子句的类所继承的接口,也不会改变其实现。

但请注意,将可空类型用作 mixin 的类型实参有效的,例如 class A with B<C?> {}

示例

#

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

dart
mixin M {}
class C with M? {}

常见修复

#

从类型中移除问号

dart
mixin M {}
class C with M {}