Класс MirrorsUsed
Аннотация, описывающая использование "dart:mirrors" (ЭКСПЕРИМЕНТАЛЬНО).
При использовании в качестве метаданных при импорте "dart:mirrors" в библиотеке L, этот класс описывает, как библиотека L использует "dart:mirrors", если это не переопределено. См. override.
Следующий текст не является нормативным:
В некоторых сценариях, например, при минификации кода Dart или при генерации кода JavaScript из программы Dart, размер и производительность выходных данных могут пострадать от использования отражения. В таких случаях указание компилятору, что используется, может существенно повлиять на результат.
Пример использования:
@MirrorsUsed(symbols: 'foo')
import 'dart:mirrors';
class Foo {
noSuchMethod(Invocation invocation) {
print(MirrorSystem.getName(invocation.memberName));
}
}
main() {
new Foo().foo(); // Prints "foo".
new Foo().bar(); // Might print an arbitrary (mangled) name, "bar".
}
Для подробного описания параметров конструктора MirrorsUsed см. комментарии для symbols, targets, metaTargets и override.
Импорт dart:mirrors может иметь несколько аннотаций MirrorsUsed. Это особенно полезно для указания переопределений для конкретных библиотек. Например:
@MirrorsUsed(targets: 'foo.Bar', override: 'foo') @MirrorsUsed(targets: 'Bar') import 'dart:mirrors';
обеспечит доступность целевого объекта Bar из текущей библиотеки и из библиотеки foo для отражения. См. также override.
Конструкторы
- MirrorsUsed({symbols, targets, metaTargets, override }) const
-
См. документацию для MirrorsUsed.symbols, MirrorsUsed.targets, MirrorsUsed.metaTargets и MirrorsUsed.override для документации параметров.
Свойства
- metaTargets → dynamic final
-
Список классов, которые при использовании в качестве метаданных указывают на рефлексивную цель. См. также targets.
- override → dynamic final
-
Список имен библиотек или "*".
- symbols → dynamic final
-
Список строк, переданных в new Symbol, и символы, которые могут быть переданы в MirrorSystem.getName.
- targets → dynamic final
-
Список рефлексивных целей.
- hashCode → int только для чтения, унаследованный
-
Хэш-код для этого объекта.
- runtimeType → Type только для чтения, унаследованный
-
Представление типа объекта во время выполнения.
Операторы
- operator ==(
other) → bool унаследованный -
Оператор равенства.
Методы
- noSuchMethod(
Invocation invocation) → dynamic унаследованный -
Вызывается при доступе к несуществующему методу или свойству.
- toString(
) → String унаследованный -
Возвращает строковое представление этого объекта.
© 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-class.html