MethodHandles.DropArguments Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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)
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>
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.