MethodHandles.DropArgumentsToMatch メソッド

定義

指定されたパラメーター型リストに一致するようにターゲット メソッド ハンドルを調整します。

[Android.Runtime.Register("dropArgumentsToMatch", "(Ljava/lang/invoke/MethodHandle;ILjava/util/List;I)Ljava/lang/invoke/MethodHandle;", "", ApiSince=33)]
public static Java.Lang.Invoke.MethodHandle? DropArgumentsToMatch(Java.Lang.Invoke.MethodHandle? target, int skip, System.Collections.Generic.IList<Java.Lang.Class>? newTypes, int pos);
[<Android.Runtime.Register("dropArgumentsToMatch", "(Ljava/lang/invoke/MethodHandle;ILjava/util/List;I)Ljava/lang/invoke/MethodHandle;", "", ApiSince=33)>]
static member DropArgumentsToMatch : Java.Lang.Invoke.MethodHandle * int * System.Collections.Generic.IList<Java.Lang.Class> * int -> Java.Lang.Invoke.MethodHandle

パラメーター

target
MethodHandle

適応するメソッドハンドル

skip
Int32

無視するターゲット パラメーターの数 (変更されません)

newTypes
IList<Class>

targetのパラメーター型リストと一致する型のリスト

pos
Int32

スキップされていないターゲット パラメーターが発生する必要がある newTypes に配置する

返品

適合する可能性のあるメソッド ハンドル

属性

注釈

指定されたパラメーター型リストに一致するようにターゲット メソッド ハンドルを調整します。 必要に応じて、プレースホルダー引数を追加します。 一部の先頭パラメーターは、照合を開始する前にスキップできます。 targetのパラメーター型リストの残りの型は、開始位置posnewTypes型リストのサブリストである必要があります。 結果のハンドルにはターゲット ハンドルのパラメーター型リストがあり、ターゲットの元のパラメーターの対応する位置に (一致するサブリストの前または後に) 一致しないパラメーター型が挿入 #dropArguments(MethodHandle, int, Class[])

結果のハンドルは、ターゲット ハンドルと同じ戻り値の型になります。

より正式な用語では、次の 2 つの型リストを想定します:<ul><li>ターゲット ハンドルにはパラメーター型リスト S..., M...があり、 S には skipで示されている数の型があります。 M型は、指定された型リストの一部 (newTypes) と一致する必要がある型です。 <li>newTypes リストにはP..., M..., A...型が含まれています。Pには、posで示されている数の型が含まれます。 M型は、ターゲット ハンドルのパラメーター型リスト内のM型が一致する必要がある型です。 Aの型は、一致するサブリストの後にある追加の型です。 </ul> これらの前提条件を考えると、 dropArgumentsToMatch の呼び出しの結果、パラメーター型リストが S..., P..., M..., A...され、 P 型と A 型は #dropArguments(MethodHandle, int, Class[])のように挿入されます。

9 に追加されました。

Javaドキュメント。

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

適用対象