次の方法で共有


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>

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

pos
Int32

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

戻り値

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

属性

注釈

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

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

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

9 に追加されました。

の Java ドキュメントjava.lang.invoke.MethodHandles.dropArgumentsToMatch(java.lang.invoke.MethodHandle, int, java.util.List<java.lang.Class<?>>, int)

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象