前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Dart dart:mirrors 库

Dart dart:mirrors 库

作者头像
南郭先生
发布2021-12-28 12:53:24
1.3K0
发布2021-12-28 12:53:24
举报
文章被收录于专栏:Google DartGoogle Dart

Dart中的基本反射,支持内省和动态调用。

内省是运行程序可以检查其自身结构的反射子集。例如,一个打印出任意对象的所有成员名称的函数。

动态调用是指在编译时不按字面指定评估代码的能力,例如调用一个其名称作为参数提供的方法(因为它在数据库中查找,或者由用户以交互方式提供)。

如何解释这个库的文档

通常,Dart声明的名称使用Symbol类的实例表示。 每当doc讲述一个表示名称的Symbol类的对象时,它就意味着用于构造s的字符串。

文档经常滥用带有Dart伪代码的符号,例如o.x(a),其中o和a被定义为对象;在这些情况下实际意味着o'.x(a')其中o'和a'是分别与o和a绑定的Dart变量。此外,o'和a'被假定为新变量(意味着它们与程序中的任何其他变量不同)

有时文档引用可序列化的对象。当且仅当它是num,bool,String,一个可跨隔离序列化的对象列表,或者带有键和值的Map(这些键和值都可以跨隔离序列化)的实例时,对象才可以跨隔离进行序列化.

状态:不稳定

dart:mirrors库不稳定,其API可能会因用户反馈而略有变化。 该库依赖于平台,因此它具有dart2js和Dart VM的实现。 两者都在开发中,可能还不支持所有操作。

Classes

ClassMirror

ClassMirror反映了Dart语言类。.

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表示的类型. [...]

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何解释这个库的文档
  • 状态:不稳定
  • Classes
  • Functions
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档