MethodHandles.Invoker(MethodType) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
特殊な <em>invoker メソッド ハンドル</em> を生成します。このハンドルを使用すると、 MethodHandle#invoke invokeの場合と同様に、指定された型と互換性のあるメソッド ハンドルを呼び出すことができます。
[Android.Runtime.Register("invoker", "(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)]
public static Java.Lang.Invoke.MethodHandle? Invoker(Java.Lang.Invoke.MethodType? type);
[<Android.Runtime.Register("invoker", "(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)>]
static member Invoker : Java.Lang.Invoke.MethodType -> Java.Lang.Invoke.MethodHandle
パラメーター
- type
- MethodType
目的のターゲットの種類
返品
指定された型に変換できる任意のメソッド ハンドルを呼び出すのに適したメソッド ハンドル
- 属性
注釈
特殊な <em>invoker メソッド ハンドル</em> を生成します。このハンドルを使用すると、 MethodHandle#invoke invokeの場合と同様に、指定された型と互換性のあるメソッド ハンドルを呼び出すことができます。 結果の呼び出し元は、型の先頭に追加の引数を受け入れる点を除き、目的の型と正確に等しい型 MethodHandle。
ターゲットを呼び出す前に、ターゲットが予想される型と異なる場合、呼び出し元は必要に応じて参照キャストを適用し、プリミティブ値をボックス化、ボックス化解除、または拡大します MethodHandle#asType asType。 同様に、戻り値は必要に応じて変換されます。 ターゲットが MethodHandle#asVarargsCollector 変数アリティ メソッド ハンドルの場合、必要なアリティ変換が、 MethodHandle#asType asTypeされたかのように再度行われます。
このメソッドは、次のコードと同じです (ただし、より効率的な場合があります)。 publicLookup().findVirtual(MethodHandle.class, "invoke", type)
<em>Discussion:</em> MethodType#genericMethodType の一般的なメソッド型は、引数と戻り値のみを Object します。 このような型の呼び出し元は、汎用型と同じアリティの任意のメソッド ハンドルを呼び出すことができます。
<em>(注: 呼び出し側メソッドは、Core Reflection API を介して使用できません。宣言された invokeExact または invoke メソッドで java.lang.reflect.Method#invoke java.lang.reflect.Method.invoke を呼び出そうとすると、 java.lang.UnsupportedOperationException UnsupportedOperationException.)</em>
このメソッドは、反射例外またはセキュリティ例外をスローしません。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。