Язык

MethodHandles.Invoker(MethodType) Метод

Определение

Создает специальный <дескриптор метода em>invoker/em>, который можно использовать для вызова любого дескриптора< метода, совместимого с заданным типом, как будто.MethodHandle#invoke invoke

[Android.Runtime.Register("invoker", "(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)]
public static Java.Lang.Invoke.MethodHandle? Invoker(Java.Lang.Invoke.MethodType? type);
[<Android.Runtime.Register("invoker", "(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)>]
static member Invoker : Java.Lang.Invoke.MethodType -> Java.Lang.Invoke.MethodHandle

Параметры

type
MethodType

нужный тип целевого объекта

Возвращаемое значение

Дескриптор метода, подходящий для вызова любого дескриптора метода, преобразуемого в заданный тип

Атрибуты

Комментарии

Создает специальный <дескриптор метода em>invoker/em>, который можно использовать для вызова любого дескриптора< метода, совместимого с заданным типом, как будто.MethodHandle#invoke invoke Результирующий вызывающий объект будет иметь тип, который точно равен требуемому типу, за исключением того, что он принимает дополнительный ведущий аргумент типа MethodHandle.

Перед вызовом целевого объекта, если целевой объект отличается от ожидаемого типа, вызывающий будет применять ссылки при необходимости и поля, распаковки или расширенные примитивные значения, как будто.MethodHandle#asType asType Аналогичным образом возвращаемое значение будет преобразовано по мере необходимости. Если целевой объект является дескриптором метода methodHandle#asVarargsCollector, необходимое преобразование arity будет выполнено снова, как если бы.MethodHandle#asType asType

Этот метод эквивалентен следующему коду (хотя это может быть более эффективным): publicLookup().findVirtual(MethodHandle.class, "invoke", type)

<em>Discussion:</em> MethodType#genericMethodType общего типа метода является одним из типов, который упоминает только Object аргументы и возвращаемые значения. Вызывающий объект для такого типа способен вызывать любой дескриптор метода с тем же arity, что и общий тип.

<em>(Примечание. Метод вызывающего средства недоступен через API основного отражения. Попытка вызвать java.lang.reflect.Method#invoke java.lang.reflect.Method.invoke в объявленном invokeExactjava.lang.UnsupportedOperationException UnsupportedOperationExceptionили invoke методе вызовет .)</em>

Этот метод не вызывает отражающих исключений или исключений безопасности.

Java документации по java.lang.invoke.MethodHandles.invoker(java.lang.invoke.MethodType).

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

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