Linguaggio

MethodHandles Classe

Definizione

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

[Android.Runtime.Register("java/lang/invoke/MethodHandles", ApiSince=26, DoNotGenerateAcw=true)]
public class MethodHandles : Java.Lang.Object
[<Android.Runtime.Register("java/lang/invoke/MethodHandles", ApiSince=26, DoNotGenerateAcw=true)>]
type MethodHandles = class
    inherit Object
Ereditarietà
MethodHandles
Attributi

Commenti

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su . Rientrano in diverse categorie: <metodi ul><li>Lookup che consentono di creare handle di metodo per metodi e campi. <metodi li>Combinator, che combinano o trasformano handle di metodo preesistenti in nuovi. <li>Altri metodi factory per creare handle di metodo che emulano altre operazioni JVM comuni o modelli di flusso di controllo. </ul>

Aggiunta nella versione 1.7.

per java.lang.invoke.MethodHandles.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Costruttori

Nome Descrizione
MethodHandles(IntPtr, JniHandleOwnership)

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

Proprietà

Nome Descrizione
Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
JniIdentityHashCode

Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità.

(Ereditato da Object)
JniManagedPeerState

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

(Ereditato da JavaObject)
JniPeerMembers

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

PeerReference

Ottiene il riferimento all'oggetto JNI per questo peer Java.

(Ereditato da Object)
ThresholdClass

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

ThresholdType

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

Metodi

Nome Descrizione
ArrayConstructor(Class)

Produce un handle di metodo che costruisce matrici di un tipo desiderato, come se fosse il anewarray bytecode.

ArrayElementGetter(Class)

Produce un handle di metodo che concede l'accesso in lettura agli elementi di una matrice.

ArrayElementSetter(Class)

Produce un handle di metodo che concede l'accesso in scrittura agli elementi di una matrice.

ArrayElementVarHandle(Class)

Produce un valore VarHandle che concede l'accesso agli elementi di una matrice di tipo arrayClass.

ArrayLength(Class)

Produce un handle di metodo che restituisce la lunghezza di una matrice, come se fosse il arraylength bytecode.

ByteArrayViewVarHandle(Class, ByteOrder)

Produce un valore VarHandle che concede l'accesso agli elementi di una byte[] matrice visualizzata come se fosse un tipo di matrice primitiva diverso, ad esempio int[] o long[].

ByteBufferViewVarHandle(Class, ByteOrder)

Produce un valore VarHandle che concede l'accesso agli elementi di un oggetto ByteBuffer visualizzato come se fosse una matrice di elementi di un tipo di componente primitivo diverso a quello di byte, ad esempio int[] o long[].

CatchException(MethodHandle, Class, MethodHandle)

Rende un handle di metodo che adatta un handle di metodo di destinazione, eseguendolo all'interno di un gestore eccezioni.

Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
CollectArguments(MethodHandle, Int32, MethodHandle)

Adatta un handle di metodo di destinazione pre-elaborazione di una sottoselaborazione dei relativi argomenti con un filtro (un altro handle di metodo).

Constant(Class, Object)

Produce un handle di metodo del tipo restituito richiesto che restituisce il valore costante specificato ogni volta che viene richiamato.

Construct(JniObjectReference, JniObjectReferenceOptions)

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

(Ereditato da JavaObject)
CountedLoop(MethodHandle, MethodHandle, MethodHandle, MethodHandle)

Costruisce un ciclo che conta su un intervallo di numeri.

CountedLoop(MethodHandle, MethodHandle, MethodHandle)

Costruisce un ciclo che esegue un determinato numero di iterazioni.

Dispose()

Rilascia le risorse contenute in questo peer Java.

(Ereditato da Object)
Dispose(Boolean)

Rilascia le risorse contenute in questo peer Java.

(Ereditato da Object)
DisposeUnlessReferenced()

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

(Ereditato da JavaObject)
DoWhileLoop(MethodHandle, MethodHandle, MethodHandle)

Costruisce un do-while ciclo da un inizializzatore, un corpo e un predicato.

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.

DropArgumentsToMatch(MethodHandle, Int32, IList<Class>, Int32)

Adatta un handle di metodo di destinazione in modo che corrisponda all'elenco di tipi di parametro specificato.

DropReturn(MethodHandle)

Eliminare il valore restituito dell'handle di destinazione (se presente).

Empty(MethodType)

Produce un handle di metodo del tipo richiesto che ignora qualsiasi argomento, non esegue alcuna operazione e restituisce un valore predefinito appropriato a seconda del tipo restituito.

Equals(Object)

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

(Ereditato da JavaObject)
Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
ExactInvoker(MethodType)

Produce un handle< di metodo em>invoker speciale</em> che può essere usato per richiamare qualsiasi handle di metodo del tipo specificato, come se fosse MethodHandle#invokeExact invokeExact.

ExplicitCastArguments(MethodHandle, MethodType)

Produce un handle di metodo che adatta il tipo dell'handle di metodo specificato a un nuovo tipo in base all'argomento pairwise e alla conversione del tipo restituito.

FilterArguments(MethodHandle, Int32, MethodHandle[])

Adatta un handle di metodo di destinazione pre-elaborazione di uno o più dei relativi argomenti, ognuno con la propria funzione di filtro unario e quindi chiamando la destinazione con ogni argomento pre-elaborato sostituito dal risultato della funzione di filtro corrispondente.

FilterReturnValue(MethodHandle, MethodHandle)

Adatta un handle di metodo di destinazione post-elaborazione del relativo valore restituito (se disponibile) con un filtro (un altro handle di metodo).

FoldArguments(MethodHandle, Int32, MethodHandle)

Adatta un handle di metodo di destinazione pre-elaborazione di alcuni dei relativi argomenti, a partire da una determinata posizione e quindi chiamando la destinazione con il risultato della pre-elaborazione, inserita nella sequenza originale di argomenti subito prima degli argomenti piegati.

FoldArguments(MethodHandle, MethodHandle)

Adatta un handle di metodo di destinazione pre-elaborazione di alcuni dei relativi argomenti e quindi chiama la destinazione con il risultato della pre-elaborazione, inserita nella sequenza originale di argomenti.

GetHashCode()

Restituisce un valore di codice hash per l'oggetto .

(Ereditato da Object)
GuardWithTest(MethodHandle, MethodHandle, MethodHandle)

Rende un handle di metodo che adatta un handle di metodo di destinazione, sorvegliandolo con un test, un handle di metodo con valori booleani.

Identity(Class)

Produce un handle di metodo che restituisce l'unico argomento quando viene richiamato.

InsertArguments(MethodHandle, Int32, Object[])

Fornisce un handle di metodo di destinazione con uno o più <argomenti> associati em/em<> in anticipo rispetto alla chiamata dell'handle del metodo.

InvokeLookup()

Restituisce un oggetto Lookup lookup object con funzionalità complete per emulare tutti i comportamenti bytecode supportati del chiamante.

Invoker(MethodType)

Produce un handle< di metodo em>invoker speciale</em> che può essere usato per richiamare qualsiasi handle di metodo compatibile con il tipo specificato, come se fosse MethodHandle#invoke invoke.

IteratedLoop(MethodHandle, MethodHandle, MethodHandle)

Costruisce un ciclo che esegue l'intervallo sui valori prodotti da un oggetto Iterator<T>.

JavaFinalize()

Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto .

(Ereditato da Object)
Loop(MethodHandle[][])

Costruisce un handle di metodo che rappresenta un ciclo con diverse variabili di ciclo aggiornate e controllate in ogni iterazione.

Notify()

Riattiva un singolo thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
PermuteArguments(MethodHandle, MethodType, Int32[])

Produce un handle di metodo che adatta la sequenza chiamante dell'handle di metodo specificato a un nuovo tipo, riordinando gli argomenti.

PrivateLookupIn(Class, MethodHandles+Lookup)

Restituisce un oggetto di ricerca con funzionalità complete per emulare tutti i comportamenti bytecode supportati, incluso l'accesso privato, in una classe di destinazione.

PublicLookup()

Restituisce un oggetto Lookup lookup object considerato attendibile in modo minimo.

ReflectAs(Class, MethodHandle)

Esegue un "crack" deselezionato di un handle di metodo diretto.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

(Ereditato da JavaObject)
SpreadInvoker(MethodType, Int32)

Produce un handle di metodo che richiamerà qualsiasi handle di metodo dell'oggetto specificato type, con un determinato numero di argomenti finali sostituiti da una singola matrice finale Object[] .

TableSwitch(MethodHandle, MethodHandle[])

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

ThrowException(Class, Class)

Produce un handle di metodo che genererà eccezioni dell'oggetto specificato exType.

ToArray<T>()

Crea una matrice gestita da questo wrapper di matrice Java.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione di stringa dell'oggetto .

(Ereditato da Object)
TryFinally(MethodHandle, MethodHandle)

Crea un handle di metodo che adatta un target handle di metodo eseguendo il wrapping in un try-finally blocco.

UnregisterFromRuntime()

Annulla la registrazione di questo Java peer dal runtime di interoperabilità.

(Ereditato da Object)
VarHandleExactInvoker(VarHandle+AccessMode, MethodType)

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

VarHandleInvoker(VarHandle+AccessMode, MethodType)

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64, Int32)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)
WhileLoop(MethodHandle, MethodHandle, MethodHandle)

Costruisce un while ciclo da un inizializzatore, un corpo e un predicato.

Zero(Class)

Produce un handle di metodo costante del tipo restituito richiesto che restituisce il valore predefinito per tale tipo ogni volta che viene richiamato.

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IJavaPeerable.Disposed()

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

(Ereditato da JavaObject)
IJavaPeerable.Finalized()

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

(Ereditato da JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

(Ereditato da JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

(Ereditato da JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

(Ereditato da JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

(Ereditato da JavaObject)

Metodi di estensione

Nome Descrizione
GetJniTypeName(IJavaPeerable)

Ottiene il nome JNI del tipo dell'istanza selfdi .

JavaAs<TResult>(IJavaPeerable)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Questa classe è costituita esclusivamente da metodi statici che operano su handle di metodo restituiti o su .

TryJavaCast<TResult>(IJavaPeerable, TResult)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

Si applica a