Lenguaje

MethodHandles.DropArguments Método

Definición

Sobrecargas

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

Genera un identificador de método que descartará algunos argumentos ficticios antes de llamar a algún otro identificador de método de destino especificado.

DropArguments(MethodHandle, Int32, IList<Class>)

Genera un identificador de método que descartará algunos argumentos de marcador de posición antes de llamar a algún otro identificador de método de destino especificado.

DropArguments(MethodHandle, Int32, Class[])

Genera un identificador de método que descartará algunos argumentos ficticios antes de llamar a algún otro 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

identificador de método que se va a invocar después de quitar los argumentos

pos
Int32

posición del primer argumento que se va a quitar (cero para el extremo izquierdo)

valueTypes
Class[]

los tipos de los argumentos que se van a quitar

Devoluciones

un identificador de método que quita los argumentos de los tipos especificados, antes de llamar al identificador de método original.

Atributos

Comentarios

Java documentación para java.lang.invoke.MethodHandles.dropArguments(java.lang.invoke.MethodHandle, int, java.lang.Class).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a

DropArguments(MethodHandle, Int32, IList<Class>)

Genera un identificador de método que descartará algunos argumentos de marcador de posición antes de llamar a algún otro 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

identificador de método que se va a invocar después de quitar los argumentos

pos
Int32

posición del primer argumento que se va a quitar (cero para el extremo izquierdo)

valueTypes
IList<Class>

los tipos de los argumentos que se van a quitar

Devoluciones

un identificador de método que quita los argumentos de los tipos especificados, antes de llamar al identificador de método original.

Atributos

Comentarios

Genera un identificador de método que descartará algunos argumentos de marcador de posición antes de llamar a algún otro identificador de método de destino especificado. El tipo del nuevo identificador de método será el mismo que el tipo del destino, salvo que también incluirá los tipos de argumentos de marcador de posición, en alguna posición determinada.

El pos argumento puede oscilar entre cero y N, donde N es la aridad del destino. Si pos es cero, los argumentos de marcador de posición precederán a los argumentos reales del destino; si pos es N , vendrán después.

<b>Ejemplo:</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>

Este método también es equivalente al código siguiente: <blockquote>

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

</blockquote>

Java documentación para java.lang.invoke.MethodHandles.dropArguments(java.lang.invoke.MethodHandle, int, java.util.List<java.lang.Class<?>>).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a