使用元數據提供關于代碼的附加信息。元數據注釋以字符@開頭,后跟對編譯時常量(如deprecated)的引用或對常量構造函數的調用。
所有Dart代碼都可以使用兩個注釋:@deprecated和@override。有關使用@override的示例,請參見擴展類。這里有一個使用@deprecated注釋的例子:
~~~
class Television {
/// _Deprecated: Use [turnOn] instead._
@deprecated
void activate() {
turnOn();
}
/// Turns the TV's power on.
void turnOn() {...}
}
~~~
您可以定義自己的元數據注釋。這里有一個定義帶有兩個參數的@todo注釋的示例:
~~~
library todo;
class Todo {
final String who;
final String what;
const Todo(this.who, this.what);
}
~~~
這里有一個使用@todo注釋的例子:
~~~
import 'todo.dart';
@Todo('seth', 'make this do something')
void doSomething() {
print('do something');
}
~~~
元數據可以出現在庫、類、類型定義、類型參數、構造函數、工廠、函數、字段、參數或變量聲明之前,也可以出現在導入或導出指令之前。您可以使用反射在運行時檢索元數據。