メタデータ

メタデータを使用して、コードに関する追加情報を提供します。メタデータアノテーションは、文字@で始まり、コンパイル時定数(deprecatedなど)への参照、または定数コンストラクタへの呼び出しが続きます。

すべてDartコードで使用できる4つのアノテーションがあります。@Deprecated@deprecated@override、および@pragma@overrideの使用方法の例については、クラスの拡張を参照してください。@Deprecatedアノテーションの使用方法の例を次に示します。

dart
class Television {
  /// Use [turnOn] to turn the power on instead.
  @Deprecated('Use turnOn instead')
  void activate() {
    turnOn();
  }

  /// Turns the TV's power on.
  void turnOn() {...}
  // ···
}

メッセージを指定したくない場合は、@deprecatedを使用できます。ただし、推奨として、@Deprecatedで常にメッセージを指定することをお勧めします。

独自のメタデータアノテーションを定義できます。2つの引数を取る@Todoアノテーションを定義する例を次に示します。

dart
class Todo {
  final String who;
  final String what;

  const Todo(this.who, this.what);
}

そして、その@Todoアノテーションの使用例です。

dart
@Todo('Dash', 'Implement this function')
void doSomething() {
  print('Do something');
}

メタデータは、ライブラリ、クラス、typedef、型パラメータ、コンストラクタ、ファクトリ、関数、フィールド、パラメータ、または変数の宣言の前、およびimportまたはexportディレクティブの前に配置できます。