跳到主要內容

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 {}