const_deferred_class
延迟加载的类不能用 'const' 创建。
描述
#当一个从使用延迟导入 (deferred import) 方式导入的库中的类被用来创建一个 const
对象时,分析器会生成此诊断。常量在编译时求值,而延迟库中的类在编译时不可用。
欲了解更多信息,请参阅延迟加载库。
示例
#以下代码会产生此诊断,因为它尝试从一个延迟库创建一个类的 const
实例
dart
import 'dart:convert' deferred as convert;
const json2 = convert.JsonCodec();
常见修复
#如果不需要该对象是常量,则更改代码以创建非常量实例
dart
import 'dart:convert' deferred as convert;
final json2 = convert.JsonCodec();
如果该对象必须是常量,则从 import 指令中移除 deferred
dart
import 'dart:convert' as convert;
const json2 = convert.JsonCodec();