語言

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

一個直接破解符號參考元件的方法把柄

傳回

指涉方法、建構子或欄位物件

屬性

備註

對直接方法柄進行未受檢的「裂解」。 結果就像使用者取得一個足夠能破解目標方法handle的查找物件,呼叫 java.lang.invoke.MethodHandles.Lookup#revealDirect Lookup.revealDirect 該目標取得符號參考,然後再呼叫 java.lang.invoke.MethodHandleInfo#reflectAs MethodHandleInfo.reflectAs 來解析該符號參照到成員。

如果有安全管理器, checkPermission 其方法會被呼叫並取得 ReflectPermission("suppressAccessChecks") 權限。

新增於1.8版本。

的 java.lang.invoke.MethodHandles.reflectAs(java.lang.Class<T>, java.lang.invoke.MethodHandle)Java 檔。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於