getField 抽象方法
- Symbol fieldName
调用一个获取器并返回结果上的镜像。
获取器可以是字段的隐式获取器或用户定义的获取器方法。
设 o 为此镜像反映的对象,f 为由 fieldName
表示的获取器的简单名称。
然后此方法将在可以访问 o 的私有成员(如果 o 是一个类或库)或 o 的类的私有成员的范围内执行获取器调用(否则)。
如果此镜像是一个 InstanceMirror,并且 fieldName
表示其反映者的实例方法,则调用结果是一个对应于该方法的闭包的实例镜像。
如果此镜像是一个 LibraryMirror,并且 fieldName
表示相应库中的顶级方法,则调用结果是对应于该方法的闭包的实例镜像。
如果此镜像是一个 ClassMirror,并且 fieldName
表示相应类中的静态方法,则调用结果是对应于该方法的闭包的实例镜像。
如果调用返回一个结果 r,则此方法返回调用 reflect(r) 的结果。
如果调用导致编译错误,则效果与遇到非反射编译错误相同。
如果调用抛出一个异常 e(它没有捕获),则此方法抛出 e。
实现
// TODO(ahe): Remove stuff about scope and private members. [fieldName] is a
// capability giving access to private members.
InstanceMirror getField(Symbol fieldName);