Поделиться через


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списке типов параметров должны быть вложенным списком newTypes списка типов в начальной позиции pos. Результирующий дескриптор будет содержать список типов параметров целевого дескриптора с любыми несоотвляющими типами параметров (до или после соответствующего вложенного списка), вставленными в соответствующие позиции исходных параметров целевого объекта, как будто показано.#dropArguments(MethodHandle, int, Class[])

Результирующий дескриптор будет иметь тот же тип возвращаемого значения, что и целевой дескриптор.

В более формальных терминах предполагается, что эти два списка типов:ul>li Целевой дескриптор имеет список S..., M...типов параметров, причем столько типов, сколько показаноskipS.><< 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 для java.lang.invoke.MethodHandles.dropArgumentsToMatch(java.lang.invoke.MethodHandle, int, java.util.List<java.lang.Class<?>>, int).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к