跳到主要内容

non_constant_annotation_constructor

注解创建只能调用 const 构造函数。

描述

#

当注解调用现有构造函数,而该被调用的构造函数不是 const 构造函数时,分析器会产生此诊断。

示例

#

以下代码会产生此诊断,因为 C 的构造函数不是 const 构造函数

dart
@C()
void f() {
}

class C {
  C();
}

常见解决方法

#

如果类可以拥有 const 构造函数,则创建一个可用于注解的 const 构造函数。

dart
@C()
void f() {
}

class C {
  const C();
}

如果类不能拥有 const 构造函数,则移除注解或使用不同的类进行注解。