编程语言
187
使用元数据 (metadata) 来给你的代码提供额外的信息。一个元数据注解以字符 @ 开头,后面跟着的要么是编译期常量(比如 deprecated),要么是常量构造函数的调用。
有两个注解可应用于所有的 Dart 代码:**@deprecated** 和 @override。使用 @override 的例子。下面是一个使用 @deprecated 注解的例子:
class Television { /// _已废弃: 使用 [turnOn] 代替_ @deprecated void activate() { turnOn(); } /// 开启 TV 的电源 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'); }
元数据可以出现在库、类、typedef、类型参数、构造函数、工厂构造函数、函数、字段、参数或变量声明前以及导入导出指令前。你可以在运行期通过反射取回元数据。