元数据
元数据是描述其它数据的数据,或者说是用于提供某种资源的有关信息的结构数据。
元数据是描述信息资源或数据等对象的数据,其使用目的在于:识别资源;评价资源;追踪资源在使用过程中的变化;实现简单高效地管理大量网络化数据;实现信息资源的有效发现、查找、一体化组织和对使用资源的有效管理。
元数据是以@开始的修饰符,在@后面接着编译时的常量或调用一个常量构造函数。使用元数据给代码添加更多的信息。
对于所有 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');
}
使用反射可以在运行时获取元数据信息。元数据可以在 library、 class、 typedef、 type parameter、 constructor、 factory、 function、 field、 parameter 或者 variable 声明之前使用,也可以在 import 或者 export 指令之前使用。