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

nullable_type_in_extends_clause

クラスはnullableな型を継承できません。

説明

#

クラス宣言でextends句を使用してスーパークラスを指定し、そのスーパークラスに?が付いている場合に、アナライザーはこの診断を生成します。

nullableなスーパークラスを指定することは無効です。なぜなら、それを行っても意味がなく、extends句を含むクラスによって継承されるインターフェイスまたは実装のどちらも変更されないためです。

ただし、スーパークラスの型引数としてnullableな型を使用することは有効であることに注意してください。例: class A extends B<C?> {}

#

次のコードは、A?がnullableな型であり、extends句でnullableな型を使用できないため、この診断を生成します。

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

一般的な修正

#

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

dart
class A {}
class B extends A {}