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

late_final_field_with_const_constructor

コンストラクタに `const` を持つクラスには、`late final` フィールドを含めることはできません。

説明

#

少なくとも1つのconstコンストラクタを持つクラスに、latefinal の両方がマークされたフィールドがある場合、アナライザはこの診断を生成します。

#

以下のコードは、クラス Aconst コンストラクタがあり、final フィールド flate としてマークされているため、この診断を生成します。

dart
class A {
  late final int f;

  const A();
}

一般的な修正

#

フィールドに late をマークする必要がない場合は、フィールドから late 修飾子を削除してください。

dart
class A {
  final int f = 0;

  const A();
}

フィールドに late をマークする必要がある場合は、コンストラクタから const 修飾子を削除してください。

dart
class A {
  late final int f;

  A();
}