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>清單包含型P..., M..., A...
別 ,在 中P
具有 與 所pos
指示的型別newTypes
數目相同。 這些 M
類型正是 M
目標句柄參數類型清單中的類型應該相符的類型。 中的 A
類型是比對子清單之後找到的其他類型。 </ul> 假設這些假設,叫用 dropArgumentsToMatch
的結果將會有 參數類型清單 S..., P..., M..., A...
,且 和 P
A
型別會插入為 ,就像 是 一 #dropArguments(MethodHandle, int, Class[])
樣。
已在 9 中新增。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。