メインコンテンツにスキップ

const_deferred_class

遅延ロードされるクラスは 'const' で作成できません。

説明

#

遅延インポートを使用してインポートされたライブラリのクラスで const オブジェクトを作成しようとすると、アナライザーはこの診断を生成します。定数はコンパイル時に評価されますが、遅延ロードされるライブラリのクラスはコンパイル時には利用できません。

詳細については、ライブラリの遅延ロード を参照してください。

#

以下のコードは、遅延ロードされるライブラリのクラスの const インスタンスを作成しようとしているため、この診断を生成します。

dart
import 'dart:convert' deferred as convert;

const json2 = convert.JsonCodec();

一般的な修正

#

オブジェクトが定数である必要がない場合は、定数でないインスタンスが作成されるようにコードを変更してください。

dart
import 'dart:convert' deferred as convert;

final json2 = convert.JsonCodec();

オブジェクトが定数でなければならない場合は、インポートディレクティブから deferred を削除してください。

dart
import 'dart:convert' as convert;

const json2 = convert.JsonCodec();