MethodHandles.ReflectAs(Class, MethodHandle) 方法

定义

执行直接方法句柄的未选中的“破解”。

[Android.Runtime.Register("reflectAs", "(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;)Ljava/lang/reflect/Member;", "", ApiSince=26)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T extends java.lang.reflect.Member" })]
public static Java.Lang.Object? ReflectAs(Java.Lang.Class? expected, Java.Lang.Invoke.MethodHandle? target);
[<Android.Runtime.Register("reflectAs", "(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;)Ljava/lang/reflect/Member;", "", ApiSince=26)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T extends java.lang.reflect.Member" })>]
static member ReflectAs : Java.Lang.Class * Java.Lang.Invoke.MethodHandle -> Java.Lang.Object

参数

expected
Class

表示所需结果类型的类对象 T

target
MethodHandle

用于破解符号引用组件的直接方法句柄

返回

对方法、构造函数或字段对象的引用

属性

注解

执行直接方法句柄的未选中的“破解”。 结果就像用户获取了能够破解目标方法句柄的查找对象一样,在目标上调用 java.lang.invoke.MethodHandles.Lookup#revealDirect Lookup.revealDirect 以获取其符号引用,然后调用 java.lang.invoke.MethodHandleInfo#reflectAs MethodHandleInfo.reflectAs 以解析对成员的符号引用。

如果有安全管理器,则会使用ReflectPermission("suppressAccessChecks")权限调用其checkPermission方法。

已在 1.8 中添加。

Java文档java.lang.invoke.MethodHandles.reflectAs(java.lang.Class<T>, java.lang.invoke.MethodHandle)

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于