MethodHandles.DropArguments Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| DropArguments(MethodHandle, Int32, Class[]) |
Produce un handle di metodo che scarterà alcuni argomenti fittizi prima di chiamare un altro handle del metodo di destinazione specificato. |
| DropArguments(MethodHandle, Int32, IList<Class>) |
Produce un handle di metodo che eliminerà alcuni argomenti segnaposto prima di chiamare un altro handle del metodo di destinazione specificato. |
DropArguments(MethodHandle, Int32, Class[])
Produce un handle di metodo che scarterà alcuni argomenti fittizi prima di chiamare un altro handle del metodo di destinazione specificato.
[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
Parametri
- target
- MethodHandle
handle del metodo da richiamare dopo l'eliminazione degli argomenti
- pos
- Int32
posizione del primo argomento da eliminare (zero per l'estrema sinistra)
- valueTypes
- Class[]
i tipi degli argomenti da eliminare
Valori restituiti
handle di metodo che elimina gli argomenti dei tipi specificati, prima di chiamare l'handle del metodo originale
- Attributi
Commenti
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
DropArguments(MethodHandle, Int32, IList<Class>)
Produce un handle di metodo che eliminerà alcuni argomenti segnaposto prima di chiamare un altro handle del metodo di destinazione specificato.
[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
Parametri
- target
- MethodHandle
handle del metodo da richiamare dopo l'eliminazione degli argomenti
- pos
- Int32
posizione del primo argomento da eliminare (zero per l'estrema sinistra)
Valori restituiti
handle di metodo che elimina gli argomenti dei tipi specificati, prima di chiamare l'handle del metodo originale
- Attributi
Commenti
Produce un handle di metodo che eliminerà alcuni argomenti segnaposto prima di chiamare un altro handle del metodo di destinazione specificato. Il tipo del nuovo handle di metodo sarà uguale al tipo della destinazione, ad eccezione del fatto che includerà anche i tipi di argomento segnaposto, in una determinata posizione.
L'argomento pos può variare tra zero e N, dove N è l'arità della destinazione. Se è zero, gli argomenti segnaposto precedono gli argomenti reali della destinazione. Se pospos è N , verranno visualizzati dopo.
<b>Esempio:</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>
Questo metodo equivale anche al codice seguente: <blockquote>
{@link #dropArguments(MethodHandle,int,Class...) dropArguments}{@code (target, pos, valueTypes.toArray(new Class[0]))}
</blockquote>
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.