MethodType Classe

Definizione

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'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 accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo. I tipi di metodo devono essere confrontati correttamente tra un handle di metodo e tutti i chiamanti e le operazioni di JVM applicano questa corrispondenza in, in particolare durante le chiamate a MethodHandle#invokeExact MethodHandle.invokeExact e MethodHandle#invoke MethodHandle.invokee durante l'esecuzione delle invokedynamic istruzioni.

La struttura è un tipo restituito accompagnato da un numero qualsiasi di tipi di parametro. I tipi (primitiva, voide riferimento) sono rappresentati da Class oggetti . (Per facilitare l'esposizione, si tratta void come se fosse un tipo. Infatti, indica l'assenza di un tipo restituito.

Tutte le istanze di MethodType sono non modificabili. Due istanze sono completamente intercambiabili se sono uguali. L'uguaglianza dipende dalla corrispondenza pairwise dei tipi restituiti e di parametri e da nient'altro.

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 Java matrici che 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 ed elenchi.

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

Come le classi e le stringhe, i tipi di metodo possono anche 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 appropriata CONSTANT_MethodType . La voce fa riferimento a un'ortografia CONSTANT_Utf8 per la stringa del descrittore. Per informazioni dettagliate sulle costanti del tipo di metodo, vedere le sezioni 4.4.8 e 5.4.3.5 della specifica della macchina virtuale di Java.

Quando la JVM materializza un oggetto MethodType da una stringa descrittore, tutte le classi denominate nel descrittore devono essere accessibili e verranno caricate. Le classi non devono tuttavia essere inizializzate, come nel caso di . CONSTANT_Class) Questo caricamento può verificarsi in qualsiasi momento prima che l'oggetto MethodType venga derivato per la prima volta.

per java.lang.invoke.MethodType.

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.

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)
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 accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

(Ereditato da Object)
JniPeerMembers

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

PeerReference

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'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

Nome Descrizione
AppendParameterTypes(Class[])

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

AppendParameterTypes(IList<Class>)

Trova o crea un tipo di metodo con tipi di parametro 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 accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

(Ereditato da Object)
Dispose(Boolean)

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

(Ereditato da Object)
DropParameterTypes(Int32, Int32)

Trova o crea un tipo di metodo con alcuni tipi di parametro 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, in base all'ortografia del descrittore bytecode.

Generic()

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

GenericMethodType(Int32, Boolean)

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

GenericMethodType(Int32)

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

GetHashCode()

Restituisce un valore di codice hash per l'oggetto .

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

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

InsertParameterTypes(Int32, IList<Class>)

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

InvokeMethodType(Class, Class, 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[])

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.

InvokeMethodType(Class)

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

JavaFinalize()

Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri 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 monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

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

(Ereditato da Object)
ParameterArray()

Presenta i tipi di parametro come matrice (un metodo pratico).

ParameterCount()

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

ParameterList()

Presenta i tipi di parametro come elenco (un 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 accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

(Ereditato da Object)
ToMethodDescriptorString()

Produce una rappresentazione del descrittore bytecode del tipo di metodo.

ToString()

Restituisce una rappresentazione di stringa dell'oggetto .

(Ereditato da Object)
UnregisterFromRuntime()

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

(Ereditato da Object)
Unwrap()

Converte tutti i tipi wrapper nei tipi primitivi corrispondenti.

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)
Wrap()

Converte tutti i tipi primitivi nei tipi wrapper corrispondenti.

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IJavaPeerable.Disposed()

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

(Ereditato da Object)
IJavaPeerable.Finalized()

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

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

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

ITypeDescriptor+IOfMethod.ChangeReturnType(Object)

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

ITypeDescriptor+IOfMethod.DropParameterTypes(Int32, Int32)

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

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

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

ITypeDescriptor+IOfMethod.ParameterArray()

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

ITypeDescriptor+IOfMethod.ReturnType()

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

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)

Un tipo di metodo rappresenta gli argomenti e il tipo restituito accettati e restituiti da un handle di metodo oppure gli argomenti e il tipo restituito passato e previsto da un chiamante dell'handle del metodo.

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

Si applica a