跳到主要内容

const_with_non_constant_argument

常量创建的参数必须是常量表达式。

描述

#

当使用非常量表达式参数调用 const 构造函数时,分析器会生成此诊断。

示例

#

以下代码会生成此诊断,因为 i 不是常量

dart
class C {
  final int i;
  const C(this.i);
}
C f(int i) => const C(i);

常见修复方法

#

要么将所有参数都设为常量表达式,要么移除 const 关键字以使用构造函数的非常量形式

dart
class C {
  final int i;
  const C(this.i);
}
C f(int i) => C(i);