MethodType Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden.
[Android.Runtime.Register("java/lang/invoke/MethodType", ApiSince=26, DoNotGenerateAcw=true)]
public sealed class MethodType : Java.Lang.Object, IDisposable, 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
- Vererbung
- Attribute
- Implementiert
Hinweise
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. Methodentypen müssen zwischen einem Methodenhandle und allen Aufrufern ordnungsgemäß abgeglichen werden, und die Vorgänge des JVM erzwingen diesen Abgleich, insbesondere während der Aufrufe von MethodHandle#invokeExact MethodHandle.invokeExact und MethodHandle#invoke MethodHandle.invokeund während der Ausführung von invokedynamic Anweisungen.
Die Struktur ist ein Rückgabetyp, der von einer beliebigen Anzahl von Parametertypen begleitet wird. Die Typen (Grundtyp, voidUnd Verweis) werden durch Class Objekte dargestellt. (Zur Erleichterung der Exposition behandeln void wir, als ob es sich um einen Typ handelte. Tatsächlich wird das Fehlen eines Rückgabetyps bezeichnet.)
Alle Instanzen von MethodType sind unveränderlich. Zwei Instanzen sind vollständig austauschbar, wenn sie gleich vergleichen. Die Gleichheit hängt von der übereinstimmungsweisen Übereinstimmung der Rückgabe- und Parametertypen und von nichts anderem ab.
Dieser Typ kann nur von Factorymethoden erstellt werden. Alle Factorymethoden können Werte zwischenspeichern, obwohl die Zwischenspeicherung nicht garantiert ist. Einige Factorymethoden sind statisch, während andere virtuelle Methoden sind, die Vorläufermethodentypen ändern, z. B. durch Ändern eines ausgewählten Parameters.
Factorymethoden, die auf Gruppen von Parametertypen arbeiten, werden systematisch in zwei Versionen dargestellt, sodass sowohl Java Arrays als auch Java Listen verwendet werden können, um mit Gruppen von Parametertypen zu arbeiten. Die Abfragemethoden parameterArray und parameterList bieten auch eine Auswahl zwischen Arrays und Listen.
MethodType Objekte werden manchmal von Bytecodeanweisungen abgeleitet, z invokedynamic. B. aus den Typdeskriptorzeichenfolgen, die den Anweisungen im Konstantenpool einer Klassendatei zugeordnet sind.
Wie Klassen und Zeichenfolgen können Methodentypen auch direkt im Konstantenpool einer Klassendatei als Konstanten dargestellt werden. Ein Methodentyp kann durch eine ldc Anweisung geladen werden, die sich auf einen geeigneten CONSTANT_MethodType Konstantenpooleintrag bezieht. Der Eintrag bezieht sich auf eine CONSTANT_Utf8 Schreibweise für die Deskriptorzeichenfolge. (Ausführliche Informationen zu Methodentypkonstanten finden Sie in den Abschnitten 4.4.8 und 5.4.3.5 der spezifikation des Java virtuellen Computers.)
Wenn die JVM eine MethodType aus einer Deskriptorzeichenfolge materialisiert, müssen alle klassen, die im Deskriptor benannt sind, barrierefrei sein und geladen werden. (Die Klassen müssen jedoch nicht initialisiert werden, wie bei einem CONSTANT_Class.) Dieser Ladevorgang kann jederzeit erfolgen, bevor das MethodType Objekt zuerst abgeleitet wird.
Java Dokumentation für java.lang.invoke.MethodType.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Eigenschaften
| Name | Beschreibung |
|---|---|
| Class |
Gibt die Laufzeitklasse dieses Werts |
| Handle |
Das Handle für die zugrunde liegende Android-Instanz. (Geerbt von Object) |
| HasPrimitives |
Gibt an, ob dieser Typ ein primitives Argument oder einen Rückgabewert enthält. |
| HasWrappers |
Gibt an, ob dieser Typ ein Wrapperargument oder einen Rückgabewert enthält. |
| JniIdentityHashCode |
Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist. (Geerbt von Object) |
| JniManagedPeerState |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. (Geerbt von JavaObject) |
| JniPeerMembers |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. |
| PeerReference |
Ruft den JNI-Objektverweis für diesen Java Peer ab. (Geerbt von Object) |
| ThresholdClass |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Object) |
| ThresholdType |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Object) |
Methoden
| Name | Beschreibung |
|---|---|
| AppendParameterTypes(Class[]) |
Sucht oder erstellt einen Methodentyp mit zusätzlichen Parametertypen. |
| AppendParameterTypes(IList<Class>) |
Sucht oder erstellt einen Methodentyp mit zusätzlichen Parametertypen. |
| ChangeParameterType(Int32, Class) |
Sucht oder erstellt einen Methodentyp mit einem einzelnen anderen Parametertyp. |
| ChangeReturnType(Class) |
Sucht oder erstellt einen Methodentyp mit einem anderen Rückgabetyp. |
| Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. (Geerbt von JavaObject) |
| DescriptorString() |
Gibt eine Deskriptorzeichenfolge für diesen Methodentyp zurück. |
| Dispose() |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| Dispose(Boolean) |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| DisposeUnlessReferenced() |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. (Geerbt von JavaObject) |
| DropParameterTypes(Int32, Int32) |
Sucht oder erstellt einen Methodentyp, bei dem einige Parametertypen weggelassen werden. |
| Equals(Object) |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. (Geerbt von JavaObject) |
| Equals(Object) |
Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist. (Geerbt von Object) |
| Erase() |
Löscht alle Verweistypen auf |
| FromMethodDescriptorString(String, ClassLoader) |
Sucht oder erstellt eine Instanz eines Methodentyps, aufgrund der Schreibweise des Bytecodedeskriptors. |
| Generic() |
Konvertiert alle Typen, sowohl Bezug als auch Grundtyp, in |
| GenericMethodType(Int32, Boolean) |
Sucht oder erstellt einen Methodentyp, dessen Komponenten mit einem optionalen nachgestellten |
| GenericMethodType(Int32) |
Sucht oder erstellt einen Methodentyp, dessen Komponenten alle |
| GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
| InsertParameterTypes(Int32, Class[]) |
Sucht oder erstellt einen Methodentyp mit zusätzlichen Parametertypen. |
| InsertParameterTypes(Int32, IList<Class>) |
Sucht oder erstellt einen Methodentyp mit zusätzlichen Parametertypen. |
| InvokeMethodType(Class, Class, Class[]) |
Sucht oder erstellt einen Methodentyp mit den angegebenen Komponenten. |
| InvokeMethodType(Class, Class) |
Sucht oder erstellt einen Methodentyp mit den angegebenen Komponenten. |
| InvokeMethodType(Class, Class[]) |
Sucht oder erstellt eine Instanz des angegebenen Methodentyps. |
| InvokeMethodType(Class, IList<Class>) |
Sucht oder erstellt einen Methodentyp mit den angegebenen Komponenten. |
| InvokeMethodType(Class, MethodType) |
Sucht oder erstellt einen Methodentyp mit den angegebenen Komponenten. |
| InvokeMethodType(Class) |
Sucht oder erstellt einen Methodentyp mit den angegebenen Komponenten. |
| JavaFinalize() |
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind. (Geerbt von Object) |
| LastParameterType() |
Gibt den letzten Parametertyp dieses Methodentyps zurück. |
| Notify() |
Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet. (Geerbt von Object) |
| NotifyAll() |
Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten. (Geerbt von Object) |
| ParameterArray() |
Stellt die Parametertypen als Array dar (eine Komfortmethode). |
| ParameterCount() |
Gibt die Anzahl der Parametertypen in diesem Methodentyp zurück. |
| ParameterList() |
Stellt die Parametertypen als Liste (eine Komfortmethode) dar. |
| ParameterType(Int32) |
Gibt den Parametertyp am angegebenen Index innerhalb dieses Methodentyps zurück. |
| ReturnType() |
Gibt den Rückgabetyp dieses Methodentyps zurück. |
| SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. (Geerbt von JavaObject) |
| ToArray<T>() |
Erstellt ein verwaltetes Array aus diesem Java Arraywrapper. (Geerbt von Object) |
| ToMethodDescriptorString() |
Erzeugt eine Bytecodedeskriptordarstellung des Methodentyps. |
| ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
| UnregisterFromRuntime() |
Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf. (Geerbt von Object) |
| Unwrap() |
Konvertiert alle Wrappertypen in ihre entsprechenden Grundtypen. |
| Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><> (Geerbt von Object) |
| Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
| Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
| Wrap() |
Konvertiert alle Grundtypen in ihre entsprechenden Wrappertypen. |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IJavaPeerable.Disposed() |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. (Geerbt von JavaObject) |
| IJavaPeerable.Finalized() |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. (Geerbt von JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. (Geerbt von JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. (Geerbt von JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. (Geerbt von JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. (Geerbt von JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. |
| ITypeDescriptor+IOfMethod.ChangeParameterType(Int32, Object) |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. |
| ITypeDescriptor+IOfMethod.ChangeReturnType(Object) |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. |
| ITypeDescriptor+IOfMethod.DropParameterTypes(Int32, Int32) |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. |
| ITypeDescriptor+IOfMethod.InsertParameterTypes(Int32, Object[]) |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. |
| ITypeDescriptor+IOfMethod.ParameterArray() |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. |
| ITypeDescriptor+IOfMethod.ParameterList() |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. |
| ITypeDescriptor+IOfMethod.ParameterType(Int32) |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. |
| ITypeDescriptor+IOfMethod.ReturnType() |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ruft den JNI-Namen des Typs der Instanz |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
| JavaCast<TResult>(IJavaObject) |
Ein Methodentyp stellt die Argumente und den Rückgabetyp dar, der von einem Methodenhandle akzeptiert und zurückgegeben wird, oder die Argumente und der Rückgabetyp, die von einem Methodenhandle-Aufrufer übergeben und erwartet werden. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Versuchen Sie, die Eingabe |