MethodHandles.DropArguments Método

Definição

Sobrecargas

Nome Description
DropArguments(MethodHandle, Int32, Class[])

Produz um identificador de método que descartará alguns argumentos fictícios antes de chamar algum outro identificador de método de destino especificado.

DropArguments(MethodHandle, Int32, IList<Class>)

Produz um identificador de método que descartará alguns argumentos de espaço reservado antes de chamar algum outro identificador de método de destino especificado.

DropArguments(MethodHandle, Int32, Class[])

Produz um identificador de método que descartará alguns argumentos fictícios antes de chamar algum outro identificador de método de destino especificado.

[Android.Runtime.Register("dropArguments", "(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)]
public static Java.Lang.Invoke.MethodHandle? DropArguments(Java.Lang.Invoke.MethodHandle? target, int pos, params Java.Lang.Class[]? valueTypes);
[<Android.Runtime.Register("dropArguments", "(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)>]
static member DropArguments : Java.Lang.Invoke.MethodHandle * int * Java.Lang.Class[] -> Java.Lang.Invoke.MethodHandle

Parâmetros

target
MethodHandle

o identificador do método a ser invocado depois que os argumentos são removidos

pos
Int32

posição do primeiro argumento a ser removido (zero para a extrema esquerda)

valueTypes
Class[]

os tipos dos argumentos a serem removidos

Retornos

um identificador de método que descarta argumentos dos tipos fornecidos, antes de chamar o identificador de método original

Atributos

Comentários

Documentação Java para java.lang.invoke.MethodHandles.dropArguments(java.lang.invoke.MethodHandle, int, java.lang.Class).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usadas de acordo com os termos descritos na Licença de Atribuição Creative Commons 2.5.

Aplica-se a

DropArguments(MethodHandle, Int32, IList<Class>)

Produz um identificador de método que descartará alguns argumentos de espaço reservado antes de chamar algum outro identificador de método de destino especificado.

[Android.Runtime.Register("dropArguments", "(Ljava/lang/invoke/MethodHandle;ILjava/util/List;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)]
public static Java.Lang.Invoke.MethodHandle? DropArguments(Java.Lang.Invoke.MethodHandle? target, int pos, System.Collections.Generic.IList<Java.Lang.Class>? valueTypes);
[<Android.Runtime.Register("dropArguments", "(Ljava/lang/invoke/MethodHandle;ILjava/util/List;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)>]
static member DropArguments : Java.Lang.Invoke.MethodHandle * int * System.Collections.Generic.IList<Java.Lang.Class> -> Java.Lang.Invoke.MethodHandle

Parâmetros

target
MethodHandle

o identificador do método a ser invocado depois que os argumentos são removidos

pos
Int32

posição do primeiro argumento a ser removido (zero para a extrema esquerda)

valueTypes
IList<Class>

os tipos dos argumentos a serem removidos

Retornos

um identificador de método que descarta argumentos dos tipos fornecidos, antes de chamar o identificador de método original

Atributos

Comentários

Produz um identificador de método que descartará alguns argumentos de espaço reservado antes de chamar algum outro identificador de método de destino especificado. O tipo do novo identificador de método será o mesmo que o tipo do destino, exceto que ele também incluirá os tipos de argumento de espaço reservado, em determinada posição.

O pos argumento pode variar entre zero e N, em que N é a aridade do destino. Se pos for zero, os argumentos de espaço reservado precederão os argumentos reais do destino; se pos for N , eles virão depois.

<b>Exemplo:</b><blockquote>

{@code
            import static java.lang.invoke.MethodHandles.*;
            import static java.lang.invoke.MethodType.*;
            ...
            MethodHandle cat = lookup().findVirtual(String.class,
              "concat", methodType(String.class, String.class));
            assertEquals("xy", (String) cat.invokeExact("x", "y"));
            MethodType bigType = cat.type().insertParameterTypes(0, int.class, String.class);
            MethodHandle d0 = dropArguments(cat, 0, bigType.parameterList().subList(0,2));
            assertEquals(bigType, d0.type());
            assertEquals("yz", (String) d0.invokeExact(123, "x", "y", "z"));
            }

</blockquote>

Esse método também é equivalente ao seguinte código: <blockquote>

{@link #dropArguments(MethodHandle,int,Class...) dropArguments}{@code (target, pos, valueTypes.toArray(new Class[0]))}

</blockquote>

Documentação Java para java.lang.invoke.MethodHandles.dropArguments(java.lang.invoke.MethodHandle, int, java.util.List<java.lang.Class<?>>).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usadas de acordo com os termos descritos na Licença de Atribuição Creative Commons 2.5.

Aplica-se a