dart:mirrors
库中MirrorsUsed.override
属性的用法介绍如下。
用法:
dynamic
override
final
库名称列表或"*"。
当用作"dart:mirrors" 导入的元数据时,此元数据不适用于使用注释的库,而是适用于其他库(如果使用"*",则为所有库)。
以下文本是非规范性的:
Dart2js 目前支持以下格式来指定库:
从概念上讲,带有override 的MirrorsUsed 注释与将注释直接放置在每个引用库中的dart:mirrors
的导入上具有相同的效果。因此,如果该库之前没有 MirrorsUsed 注释,则其对 dart:mirrors
的无条件导入将被带注释的导入覆盖。
请注意,与多个显式 MirrorsUsed 注释一样,在具有现有 MirrorsUsed 注释的库上使用覆盖是附加的。也就是说,反射目标的整体集是由原始注释和覆盖 MirrorsUsed 注释产生的反射目标的联合。
override 的使用仅对导入了 dart:mirrors
而没有注释的库有意义,因为否则它在没有 override 参数的情况下会以完全相同的方式工作。
虽然注释将应用于给定的目标库,但 symbols 、 targets 和 metaTargets 仍在注释范围内进行评估。因此,要从库 foo
中选择目标,必须使用限定名称,或者,如果目标在当前范围内可见,则可以引用其类型。
例如,以下代码将库 foo
中的所有目标标记为可反射,这些目标使用同一库中的 Reflectable
类具有元数据注释。
@MirrorsUsed(metaTargets: "foo.Reflectable", override: "foo")
但是,以下代码将需要使用当前库中的Reflectable
类。
@MirrorsUsed(metaTargets: "Reflectable", override: "foo")
相关用法
- Dart MirrorsUsed.metaTargets用法及代码示例
- Dart MirrorsUsed.targets用法及代码示例
- Dart MirrorsUsed用法及代码示例
- 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大神的英文原创作品 override property。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。