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