語言

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必須是起始位置pos型別列表的子列表newTypes。 最終的句柄會包含目標句柄的參數類型清單,並將任何不匹配的參數類型(在匹配子清單之前或之後)插入於目標原始參數的對應位置,就像由 。#dropArguments(MethodHandle, int, Class[])

結果的句柄會與目標句柄擁有相同的回傳類型。

更正式地,假設這兩個型別列表:<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.lang.invoke.MethodHandles.dropArgumentsToMatch(java.lang.invoke.MethodHandle, int, java.util.List<java.lang.Class<?>>, int)Java 檔。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於