跳到主内容

late_final_field_with_const_constructor

在具有生成式 const 构造函数的类中不能有 late final 字段。

描述

#

当一个类至少有一个 const 构造函数,并且同时包含一个标记为 latefinal 的字段时,分析器会生成此诊断。

示例

#

以下代码会产生此诊断,因为类 A 有一个 const 构造函数,并且 final 字段 f 被标记为 late

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();
}