元数据
优质
小牛编辑
129浏览
2023-12-01
使用元数据 (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、类型参数、构造函数、工厂构造函数、函数、字段、参数或变量声明前以及导入导出指令前。你可以在运行期通过反射取回元数据。