Condividi tramite


MethodType Classe

Definizione

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

[Android.Runtime.Register("java/lang/invoke/MethodType", ApiSince=26, DoNotGenerateAcw=true)]
public sealed class MethodType : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.Invoke.ITypeDescriptor.IOfMethod
[<Android.Runtime.Register("java/lang/invoke/MethodType", ApiSince=26, DoNotGenerateAcw=true)>]
type MethodType = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ITypeDescriptor.IOfMethod
    interface ITypeDescriptor
Ereditarietà
MethodType
Attributi
Implementazioni

Commenti

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo. I tipi di metodo devono essere corrispondenti correttamente tra un handle di metodo e tutti i chiamanti e le operazioni della JVM applicano questa corrispondenza in modo specifico durante le chiamate a MethodHandle#invokeExact MethodHandle.invokeExact e MethodHandle#invoke MethodHandle.invokee e durante l'esecuzione delle invokedynamic istruzioni.

La struttura è un tipo restituito accompagnato da qualsiasi numero di tipi di parametri. I tipi (primitive, void, e reference) sono rappresentati da Class oggetti. (Per facilità di esposizione, si tratta void come se fosse un tipo. In realtà, indica l'assenza di un tipo restituito.

Tutte le istanze di MethodType sono non modificabili. Due istanze sono completamente intercambiabili se confrontano uguale. L'uguaglianza dipende dalla corrispondenza in modo associato dei tipi restituiti e dei parametri e in nessun altro modo.

Questo tipo può essere creato solo dai metodi factory. Tutti i metodi factory possono memorizzare nella cache i valori, anche se la memorizzazione nella cache non è garantita. Alcuni metodi factory sono statici, mentre altri sono metodi virtuali che modificano i tipi di metodi precursori, ad esempio modificando un parametro selezionato.

I metodi factory che operano su gruppi di tipi di parametri vengono presentati sistematicamente in due versioni, in modo che sia le matrici Java che gli elenchi Java possano essere usati per lavorare con gruppi di tipi di parametri. I metodi parameterArray di query e parameterList offrono anche una scelta tra matrici e elenchi.

MethodType gli oggetti vengono talvolta derivati dalle istruzioni di bytecode, ad esempio invokedynamic, in particolare dalle stringhe del descrittore di tipo associate alle istruzioni nel pool costante di un file di classe.

Come classi e stringhe, i tipi di metodo possono essere rappresentati direttamente nel pool costante di un file di classe come costanti. Un tipo di metodo può essere caricato da un'istruzione ldc che fa riferimento a una voce di pool costante adatta CONSTANT_MethodType . La voce fa riferimento a un'ortografia CONSTANT_Utf8 per la stringa descrittore. Per informazioni dettagliate sulle costanti dei tipi di metodo, vedere le sezioni 4.4.8 e 5.4.3.5 della specifica della macchina virtuale Java.

Quando la JVM materializza un MethodType oggetto da una stringa descrittore, tutte le classi denominate nel descrittore devono essere accessibili e verranno caricate. (Ma le classi non devono essere inizializzate, come accade con un CONSTANT_Classoggetto .) Questo caricamento può verificarsi in qualsiasi momento prima che l'oggetto MethodType venga prima derivato.

Documentazione Java per java.lang.invoke.MethodType.

Le parti di questa pagina sono modifiche in base al lavoro creato e condiviso dal Android Open Source e usato in base ai termini descritti nella .

Proprietà

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle all'istanza di Android sottostante.

(Ereditato da Object)
HasPrimitives

Segnala se questo tipo contiene un argomento primitivo o un valore restituito.

HasWrappers

Segnala se questo tipo contiene un argomento wrapper o un valore restituito.

JniIdentityHashCode

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

(Ereditato da Object)
JniPeerMembers

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

PeerReference

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

(Ereditato da Object)
ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

(Ereditato da Object)
ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

(Ereditato da Object)

Metodi

AppendParameterTypes(Class[])

Trova o crea un tipo di metodo con tipi di parametri aggiuntivi.

AppendParameterTypes(IList<Class>)

Trova o crea un tipo di metodo con tipi di parametri aggiuntivi.

ChangeParameterType(Int32, Class)

Trova o crea un tipo di metodo con un singolo tipo di parametro diverso.

ChangeReturnType(Class)

Trova o crea un tipo di metodo con un tipo restituito diverso.

Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
DescriptorString()

Restituisce una stringa descrittore per questo tipo di metodo.

Dispose()

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

(Ereditato da Object)
Dispose(Boolean)

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

(Ereditato da Object)
DropParameterTypes(Int32, Int32)

Trova o crea un tipo di metodo con alcuni tipi di parametri omessi.

Equals(Object)

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

(Ereditato da Object)
Erase()

Cancella tutti i tipi di riferimento in Object.

FromMethodDescriptorString(String, ClassLoader)

Trova o crea un'istanza di un tipo di metodo, dato l'ortografia del descrittore bytecode.

Generic()

Converte tutti i tipi, sia riferimento che primitivo, in Object.

GenericMethodType(Int32)

Trova o crea un tipo di metodo i cui componenti sono tutti Object.

GenericMethodType(Int32, Boolean)

Trova o crea un tipo di metodo i cui componenti sono Object con una matrice finale facoltativa Object[] .

GetHashCode()

Restituisce un valore del codice hash per l'oggetto.

(Ereditato da Object)
InsertParameterTypes(Int32, Class[])

Trova o crea un tipo di metodo con tipi di parametri aggiuntivi.

InsertParameterTypes(Int32, IList<Class>)

Trova o crea un tipo di metodo con tipi di parametri aggiuntivi.

InvokeMethodType(Class)

Trova o crea un tipo di metodo con i componenti specificati.

InvokeMethodType(Class, Class)

Trova o crea un tipo di metodo con i componenti specificati.

InvokeMethodType(Class, Class, Class[])

Trova o crea un tipo di metodo con i componenti specificati.

InvokeMethodType(Class, Class[])

Trova o crea un'istanza del tipo di metodo specificato.

InvokeMethodType(Class, IList<Class>)

Trova o crea un tipo di metodo con i componenti specificati.

InvokeMethodType(Class, MethodType)

Trova o crea un tipo di metodo con i componenti specificati.

JavaFinalize()

Chiamato dal Garbage Collector in un oggetto quando Garbage Collection determina che non sono presenti più riferimenti all'oggetto.

(Ereditato da Object)
LastParameterType()

Restituisce l'ultimo tipo di parametro di questo tipo di metodo.

Notify()

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

(Ereditato da Object)
NotifyAll()

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

(Ereditato da Object)
ParameterArray()

Presenta i tipi di parametri come matrice (metodo pratico).

ParameterCount()

Restituisce il numero di tipi di parametri in questo tipo di metodo.

ParameterList()

Presenta i tipi di parametro come elenco (metodo pratico).

ParameterType(Int32)

Restituisce il tipo di parametro in corrispondenza dell'indice specificato, all'interno di questo tipo di metodo.

ReturnType()

Restituisce il tipo restituito di questo tipo di metodo.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
ToArray<T>()

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

(Ereditato da Object)
ToMethodDescriptorString()

Produce una rappresentazione del descrittore di bytecode del tipo di metodo.

ToString()

Restituisce una rappresentazione in formato stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

(Ereditato da Object)
Unwrap()

Converte tutti i tipi wrapper nei tipi primitivi corrispondenti.

Wait()

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere eseguendo>una notifica</em o <em interrotto</>em>>.<

(Ereditato da Object)
Wait(Int64)

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64, Int32)

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale.

(Ereditato da Object)
Wrap()

Converte tutti i tipi primitivi nei tipi wrapper corrispondenti.

Implementazioni dell'interfaccia esplicita

IJavaPeerable.Disposed()

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

(Ereditato da Object)
IJavaPeerable.Finalized()

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

(Ereditato da Object)
ITypeDescriptor+IOfMethod.ChangeParameterType(Int32, Object)

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

ITypeDescriptor+IOfMethod.ChangeReturnType(Object)

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

ITypeDescriptor+IOfMethod.DropParameterTypes(Int32, Int32)

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

ITypeDescriptor+IOfMethod.InsertParameterTypes(Int32, Object[])

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

ITypeDescriptor+IOfMethod.ParameterArray()

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

ITypeDescriptor+IOfMethod.ParameterList()

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

ITypeDescriptor+IOfMethod.ParameterType(Int32)

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

ITypeDescriptor+IOfMethod.ReturnType()

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione dei tipi controllati dal runtime Android.

JavaCast<TResult>(IJavaObject)

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

GetJniTypeName(IJavaPeerable)

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettato e restituito da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante di handle del metodo.

Si applica a