MethodHandles.DropArgumentsToMatch 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
調整目標方法的句柄以匹配給定的參數類型列表。
[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
可忽略目標參數數量(參數不變)
- 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。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。