Dart dart:mirrors 庫

Dart中的基本反射,支持內省和動態調用。html

內省是運行程序能夠檢查其自身結構的反射子集。例如,一個打印出任意對象的全部成員名稱的函數。數據庫

動態調用是指在編譯時不按字面指定評估代碼的能力,例如調用一個其名稱做爲參數提供的方法(由於它在數據庫中查找,或者由用戶以交互方式提供)。api

如何解釋這個庫的文檔

一般,Dart聲明的名稱使用Symbol類的實例表示。 每當doc講述一個表示名稱的Symbol類的對象時,它就意味着用於構造s的字符串。閉包

文檔常常濫用帶有Dart僞代碼的符號,例如o.x(a),其中o和a被定義爲對象;在這些狀況下實際意味着o'.x(a')其中o'和a'是分別與o和a綁定的Dart變量。此外,o'和a'被假定爲新變量(意味着它們與程序中的任何其餘變量不一樣)ide

有時文檔引用可序列化的對象。當且僅當它是num,bool,String,一個可跨隔離序列化的對象列表,或者帶有鍵和值的Map(這些鍵和值均可以跨隔離序列化)的實例時,對象才能夠跨隔離進行序列化.函數

狀態:不穩定

dart:mirrors庫不穩定,其API可能會因用戶反饋而略有變化。 該庫依賴於平臺,所以它具備dart2js和Dart VM的實現。 二者都在開發中,可能還不支持全部操做。編碼

Classes

 

ClassMirrorspa

ClassMirror反映了Dart語言類。.htm

ClosureMirror對象

ClosureMirror反映了一個閉包. [...]

CombinatorMirror

在庫依賴項上聲明的show / hide組合器上的鏡像。

Comment

用於將註釋編碼爲元數據註解的類。

DeclarationMirror

DeclarationMirror反映了Dart程序中聲明的某個實體.

FunctionTypeMirror

FunctionTypeMirror表示Dart語言中函數的類型.

InstanceMirror

InstanceMirror反映Dart語言對象的實例.

IsolateMirror

IsolateMirror反映了隔離.

LibraryDependencyMirror

導入或導出聲明中的鏡像.

LibraryMirror

LibraryMirror反映了Dart語言庫,提供對庫的變量,函數和類的訪問.

MethodMirror

MethodMirror反映Dart語言函數,方法,構造函數,getter或setter.

Mirror

Mirror 反映了一些Dart語言實體. [...]

MirrorsUsed

描述如何使用「dart:mirrors」的註解(實驗). [...]

MirrorSystem

MirrorSystem是用於反映一組關聯庫的主要接口. [...]

ObjectMirror

ObjectMirrorInstanceMirror, ClassMirror, 和 LibraryMirror的公共超接口,表示它們的共享功能. [...]

ParameterMirror

ParameterMirror反映Dart形式參數聲明.

SourceLocation

SourceLocation描述Dart源代碼中實體的範圍.

TypedefMirror

TypedefMirror表示Dart語言程序中的typedef.

TypeMirror

TypeMirror反映Dart語言類,typedef,函數類型或類型變量.

TypeVariableMirror

TypeVariableMirror表示泛型類型的類型參數.

VariableMirror

VariableMirror反映了Dart語言變量聲明.

Functions

currentMirrorSystem() → MirrorSystem

返回當前隔離的MirrorSystem.

reflect(Object reflectee) → InstanceMirror

反映一個實例. [...]

reflectClass(Type key) → ClassMirror

反映類聲明. [...]

reflectType(Type key, [ List<Type> typeArguments ]) → TypeMirror

反映ke'y表示的類型. [...]

相關文章
相關標籤/搜索