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

無効な_アノテーション_定数_値_遅延_ライブラリ_から

遅延ライブラリからの定数値は、アノテーションには使用できません。

説明

#

遅延ライブラリとしてインポートされたライブラリで定義された定数が、アノテーションの引数リストで参照されると、アナライザーはこの診断を生成します。アノテーションはコンパイル時に評価され、遅延ライブラリの値はコンパイル時には利用できません。

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

#

次のコードは、ライブラリが遅延ライブラリとしてインポートされているにもかかわらず、定数 pi がアノテーションの引数リストで参照されているため、この診断を生成します。

dart
import 'dart:math' deferred as math;

class C {
  const C(double d);
}

@C(math.pi)
void f () {}

一般的な修正

#

インポートされた定数を参照する必要がある場合は、deferred キーワードを削除してください。

dart
import 'dart:math' as math;

class C {
  const C(double d);
}

@C(math.pi)
void f () {}

インポートを遅延させる必要がある場合、および別の適切な定数がある場合は、遅延ライブラリの定数の代わりにその定数を使用してください。