Класс 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.
- Аннотации
-
- @Deprecated("Больше не имеет эффекта. Будет удален в более поздней версии.")
Конструкторы
- MirrorsUsed({dynamic symbols, dynamic targets, dynamic metaTargets, dynamic override}) const
- См. документацию для MirrorsUsed.symbols, MirrorsUsed.targets, MirrorsUsed.metaTargets и MirrorsUsed.override для документации параметров.
Свойства
- hashCode → int только для чтения, унаследованное
- Хэш-код этого объекта.
- metaTargets → dynamic final
- Список классов, которые, при использовании в качестве метаданных, указывают на рефлексивную цель. См. также targets.
- override → dynamic final
- Список имён библиотек или "*".
- runtimeType → Type только для чтения, унаследованное
- Представление типа объекта во время выполнения.
- symbols → dynamic final
- Список строк, переданных в новый Symbol, и символов, которые могут быть переданы в MirrorSystem.getName.
- targets → dynamic final
- Список рефлексивных целей.
Методы
- noSuchMethod(
Invocation invocation) → dynamic унаследованное - Вызывается при обращении к несуществующему методу или свойству.
- toString(
) → String унаследованное - Строковое представление этого объекта.
Операторы
- operator ==(
Object other) → bool унаследованное - Оператор равенства.
© 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-class.html