Используйте метаданные для предоставления дополнительной информации о вашем коде. Аннотация метаданных начинается с символа @
, за которым следует либо ссылка на константу времени компиляции ( такие как 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');
}
Метаданные могут появляться перед объявлением library, class, typedef, параметра типа, конструктора, фабрики, функции, поля, параметра или переменной, а также перед директивой импорта или экспорта. Вы можете получить метаданные во время выполнения, используя отражение.