Свойство 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 не имеет атрибута и, следовательно, не будет отражаемым во время выполнения.
Реализация
final metaTargets;
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-mirrors/MirrorsUsed/metaTargets.html