redirect_to_non_const_constructor
常量重定向构造函数不能重定向到非常量构造函数。
描述
#当一个标记为 const
的构造函数重定向到未标记为 const
的构造函数时,分析器会产生此诊断。
示例
#以下代码会产生此诊断,因为构造函数 C.a
被标记为 const
,但重定向到构造函数 C.b
,而 C.b
不是常量构造函数
dart
class C {
const C.a() : this.b();
C.b();
}
常见解决方法
#如果该非常量构造函数可以被标记为 const
,则将其标记为 const
dart
class C {
const C.a() : this.b();
const C.b();
}
如果该非常量构造函数不能被标记为 const
,则或者移除重定向,或者从重定向构造函数中移除 const
dart
class C {
C.a() : this.b();
C.b();
}