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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。