141
本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。
转载请注明:转载自: AigeStudio » 元数据 侵权必究

本篇为 Dart 官方文档翻译项目 DartCN 的文章 Tour 翻译,在此仅作翻译记录,翻译首稿已提交至 DartCN,如需查阅,请链接至《Dart 开发语言概览》

本文为 Dart 语言概览的一部分,完整章节请查阅 Dart 语言概览

使用元数据可以为代码增加一些额外的信息。元数据注解以 @ 开头,其后紧跟一个编译时常量(比如 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');
}

元数据可以在 library、class、typedef、type parameter、constructor、factory、function、field、parameter 或者 variable 声明之前使用,也可以在 import 或 export 之前使用。可使用反射在运行时获取元数据信息。

留言

Loading...

发表评论

电子邮件地址不会被公开。 必填项已用*标注