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 、参照クラスの代わりにすぐに実行されます。

メソッド解決の前に、明示的に指定された呼び出し元クラスが参照クラスと同一でない場合、またはこの参照オブジェクトにプライベート アクセス特権がない場合、アクセスは失敗します。

メソッドの変数アリティ修飾子ビット (0x0080) が設定されている場合にのみ、返されるメソッド ハンドルには MethodHandle#asVarargsCollector 変数アリティがあります。

の Java ドキュメント java.lang.invoke.MethodHandles.Lookup.unreflectSpecial(java.lang.reflect.Method, java.lang.Class<?>)

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象