メインコンテンツにスキップ

nullable_type_in_implements_clause

クラス、ミックスイン、または拡張型は、null許容型をimplementsすることはできません。

説明

#

クラス、ミックスイン、または拡張型の宣言にimplements句があり、インターフェースの後に?が続く場合に、アナライザーはこの診断を生成します。

null許容インターフェースを指定することは無効です。なぜなら、そうしても意味がなく、implements句を含むクラスによって継承されるインターフェースを変更しないためです。

ただし、インターフェースの型引数としてnull許容型を使用することは有効であることに注意してください。例: class A implements B<C?> {}

#

以下のコードはこの診断を生成します。なぜなら、A?はnull許容型であり、null許容型はimplements句で使用できないからです。

dart
class A {}
class B implements A? {}

一般的な修正

#

型から疑問符を削除してください

dart
class A {}
class B implements A {}