Spec-Zone.ru › Dart 2

dart:mirrors

Свойство metaTargets

dynamic metaTargets
final

Список классов, которые, используемые в качестве атрибутов, указывают на отражаемый объект. См. также 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API