語言

MethodHandles.Lookup.UnreflectSpecial(Method, Class) 方法

定義

產生一個反射方法的方法柄。

[Android.Runtime.Register("unreflectSpecial", "(Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)]
public Java.Lang.Invoke.MethodHandle UnreflectSpecial(Java.Lang.Reflect.Method m, Java.Lang.Class specialCaller);
[<Android.Runtime.Register("unreflectSpecial", "(Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)>]
member this.UnreflectSpecial : Java.Lang.Reflect.Method * Java.Lang.Class -> Java.Lang.Invoke.MethodHandle

參數

m
Method

反射法

specialCaller
Class

名義上呼叫該方法的類別

傳回

一個能呼叫反射方法的方法控制器

屬性

備註

產生一個反射方法的方法柄。 它會繞過接收端覆寫方法的檢查,就像從 invokespecial 明確指定的 specialCaller指令中呼叫一樣。 方法控制柄的類型會依照方法本身,並會加上適當受限的接收器類型。 (接收器類型為 specialCaller 或子類型。)若 accessible 方法的標誌未被設定,查詢類別會立即執行存取檢查,就像 invokespecial 指令被連結一樣。

在方法解析前,若明確指定的呼叫類別與查找類別不相同,或該查詢物件沒有私有存取權限,該存取將失敗。

回傳的方法代柄將具有 MethodHandle#asVarargsCollector 變數元數,當且僅當該方法的變數元數修飾位0x0080元()被設定為 MethodHandle#asVarargsCollector。

的 java.lang.invoke.MethodHandles.Lookup.unreflectSpecial(java.lang.reflect.Method, java.lang.Class<?>)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於