dart:mirrors
库中MirrorsUsed
类的用法介绍如下。
说明如何使用 "dart:mirrors" 的注释(实验)。
当用作库 L
中 "dart:mirrors" 导入的元数据时,此类说明库 L
如何使用 "dart:mirrors" 除非被覆盖。见override。
以下文本是非规范性的:
在某些情况下,例如,在缩小 Dart 代码时,或从 Dart 程序生成 JavaScript 代码时,输出的大小和性能可能会因使用反射而受到影响。在这些情况下,告诉编译器使用什么会产生重大影响。
示例用法:
@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';
将确保来自当前库和库foo
的目标Bar
可用于反射。另见override。
- 注释
-
@Deprecated("No longer has any effect. Will be removed in a later release.")
相关用法
- Dart MirrorsUsed.metaTargets用法及代码示例
- Dart MirrorsUsed.targets用法及代码示例
- Dart MirrorsUsed.override用法及代码示例
- Dart MidiInputMap.clear用法及代码示例
- Dart MidiInputMap.putIfAbsent用法及代码示例
- Dart MimeTypeArray.first用法及代码示例
- Dart MidiInputMap.containsKey用法及代码示例
- Dart MidiInputMap.forEach用法及代码示例
- Dart MidiOutputMap.forEach用法及代码示例
- Dart MidiInputMap.remove用法及代码示例
- Dart MidiOutputMap.containsKey用法及代码示例
- Dart MidiInputMap.containsValue用法及代码示例
- Dart MidiOutputMap.addAll用法及代码示例
- Dart MidiOutputMap.containsValue用法及代码示例
- Dart MidiOutputMap.remove用法及代码示例
- Dart MimeTypeArray.last用法及代码示例
- Dart MidiInputMap.addAll用法及代码示例
- Dart MidiOutputMap.clear用法及代码示例
- Dart MimeTypeArray.length用法及代码示例
- Dart MimeTypeArray.elementAt用法及代码示例
- Dart MidiOutputMap.putIfAbsent用法及代码示例
- Dart MapMixin.containsKey用法及代码示例
- Dart Map.update用法及代码示例
- Dart Match.groups用法及代码示例
- Dart MapEntry.value用法及代码示例
注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 MirrorsUsed class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。