Свойство metaTargets
dynamic metaTargetsСписок классов, которые при использовании в качестве метаданных указывают на рефлексивную цель. См. также targets.
Следующий текст не является нормативным:
Формат для указания списка классов такой же, как используется для указания targets. Однако, поскольку библиотека не может использоваться в качестве метаданного аннотации в Dart, добавление библиотеки в список metaTargets не оказывает никакого эффекта. В частности, добавление библиотеки к metaTargets не делает классы библиотеки допустимыми метаданными аннотациями для включения рефлексии.
Если экземпляр класса, указанного в metaTargets, используется в качестве аннотации метаданных для библиотеки, класса, поля или метода, эта библиотека, класс, поле или метод добавляются в набор целей для рефлексии.
Пример использования:
library example;
@MirrorsUsed(metaTargets: "example.Reflectable")
import "dart:mirrors";
class Reflectable {
const Reflectable();
}
class Foo {
@Reflectable()
reflectableMethod() { ... }
nonReflectableMethod() { ... }
}
В приведенном выше примере. reflectableMethod отмечен как отражаемый с помощью класса Reflectable, который в свою очередь указан в аннотации metaTargets.
Метод nonReflectableMethod не имеет аннотации метаданных и, таким образом, не будет отражаемым во время выполнения.
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-mirrors/MirrorsUsed/metaTargets.html