MethodType Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode.
[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
- Héritage
- Attributs
- Implémente
Remarques
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. Les types de méthode doivent être correctement mis en correspondance entre un handle de méthode et tous ses appelants, et les opérations de JVM appliquent cette correspondance, en particulier pendant les appels à MethodHandle#invokeExact MethodHandle.invokeExact et MethodHandle#invoke MethodHandle.invokependant l’exécution d’instructions invokedynamic .
La structure est un type de retour accompagné d’un nombre quelconque de types de paramètres. Les types (primitive, voidet référence) sont représentés par Class des objets. (Pour faciliter l’exposition, nous traitons void comme s’il s’agissait d’un type. En fait, il indique l’absence d’un type de retour.)
Toutes les instances sont MethodType immuables. Deux instances sont complètement interchangeables si elles comparent égales. L’égalité dépend de la correspondance entre paires des types de retour et de paramètres et rien d’autre.
Ce type ne peut être créé que par les méthodes de fabrique. Toutes les méthodes de fabrique peuvent mettre en cache des valeurs, bien que la mise en cache ne soit pas garantie. Certaines méthodes de fabrique sont statiques, tandis que d’autres sont des méthodes virtuelles qui modifient les types de méthodes précurseurs, par exemple en modifiant un paramètre sélectionné.
Les méthodes de fabrique qui fonctionnent sur des groupes de types de paramètres sont systématiquement présentées dans deux versions, afin que les deux Java tableaux et les listes Java puissent être utilisées pour travailler avec des groupes de types de paramètres. Les méthodes parameterArray de requête et parameterList fournissent également un choix entre les tableaux et les listes.
MethodType les objets sont parfois dérivés d’instructions bytecode telles que invokedynamic, en particulier à partir des chaînes de descripteur de type associées aux instructions dans le pool de constantes d’un fichier de classe.
Comme les classes et les chaînes, les types de méthode peuvent également être représentés directement dans le pool de constantes d’un fichier de classe en tant que constantes. Un type de méthode peut être chargé par une ldc instruction qui fait référence à une entrée de pool de constantes appropriée CONSTANT_MethodType . L’entrée fait référence à une CONSTANT_Utf8 orthographe pour la chaîne de descripteur. (Pour plus d’informations sur les constantes de type de méthode, consultez les sections 4.4.8 et 5.4.3.5 de la spécification de machine virtuelle Java.)
Lorsque la machine virtuelle JVM matérialise une MethodType chaîne de descripteur, toutes les classes nommées dans le descripteur doivent être accessibles et seront chargées. (Mais les classes ne doivent pas être initialisées, comme c’est le cas avec un CONSTANT_Class.) Ce chargement peut se produire à tout moment avant que l’objet MethodType ne soit dérivé.
Documentation Java pour java.lang.invoke.MethodType.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.
Propriétés
| Nom | Description |
|---|---|
| Class |
Retourne la classe runtime de ce |
| Handle |
Handle de l’instance Android sous-jacente. (Hérité de Object) |
| HasPrimitives |
Signale si ce type contient un argument primitif ou une valeur de retour. |
| HasWrappers |
Signale si ce type contient un argument wrapper ou une valeur de retour. |
| JniIdentityHashCode |
Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité. (Hérité de Object) |
| JniManagedPeerState |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. (Hérité de JavaObject) |
| JniPeerMembers |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. |
| PeerReference |
Obtient la référence d’objet JNI pour cet homologue Java. (Hérité de Object) |
| ThresholdClass |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. (Hérité de Object) |
| ThresholdType |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. (Hérité de Object) |
Méthodes
| Nom | Description |
|---|---|
| AppendParameterTypes(Class[]) |
Recherche ou crée un type de méthode avec des types de paramètres supplémentaires. |
| AppendParameterTypes(IList<Class>) |
Recherche ou crée un type de méthode avec des types de paramètres supplémentaires. |
| ChangeParameterType(Int32, Class) |
Recherche ou crée un type de méthode avec un seul type de paramètre différent. |
| ChangeReturnType(Class) |
Recherche ou crée un type de méthode avec un autre type de retour. |
| Clone() |
Crée et retourne une copie de cet objet. (Hérité de Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. (Hérité de JavaObject) |
| DescriptorString() |
Retourne une chaîne de descripteur pour ce type de méthode. |
| Dispose() |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| Dispose(Boolean) |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| DisposeUnlessReferenced() |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. (Hérité de JavaObject) |
| DropParameterTypes(Int32, Int32) |
Recherche ou crée un type de méthode avec certains types de paramètres omis. |
| Equals(Object) |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. (Hérité de JavaObject) |
| Equals(Object) |
Indique si un autre objet est « égal à » celui-ci. (Hérité de Object) |
| Erase() |
Efface tous les types de référence à |
| FromMethodDescriptorString(String, ClassLoader) |
Recherche ou crée une instance d’un type de méthode, en fonction de l’orthographe de son descripteur bytecode. |
| Generic() |
Convertit tous les types, à la fois référence et primitif, en |
| GenericMethodType(Int32, Boolean) |
Recherche ou crée un type de méthode dont les composants sont |
| GenericMethodType(Int32) |
Recherche ou crée un type de méthode dont les composants sont tous |
| GetHashCode() |
Retourne une valeur de code de hachage pour l'objet. (Hérité de Object) |
| InsertParameterTypes(Int32, Class[]) |
Recherche ou crée un type de méthode avec des types de paramètres supplémentaires. |
| InsertParameterTypes(Int32, IList<Class>) |
Recherche ou crée un type de méthode avec des types de paramètres supplémentaires. |
| InvokeMethodType(Class, Class, Class[]) |
Recherche ou crée un type de méthode avec les composants donnés. |
| InvokeMethodType(Class, Class) |
Recherche ou crée un type de méthode avec les composants donnés. |
| InvokeMethodType(Class, Class[]) |
Recherche ou crée une instance du type de méthode donné. |
| InvokeMethodType(Class, IList<Class>) |
Recherche ou crée un type de méthode avec les composants donnés. |
| InvokeMethodType(Class, MethodType) |
Recherche ou crée un type de méthode avec les composants donnés. |
| InvokeMethodType(Class) |
Recherche ou crée un type de méthode avec les composants donnés. |
| JavaFinalize() |
Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet. (Hérité de Object) |
| LastParameterType() |
Retourne le dernier type de paramètre de ce type de méthode. |
| Notify() |
Réveille un thread unique qui attend le moniteur de cet objet. (Hérité de Object) |
| NotifyAll() |
Réveille tous les threads qui attendent le moniteur de cet objet. (Hérité de Object) |
| ParameterArray() |
Présente les types de paramètres sous forme de tableau (méthode pratique). |
| ParameterCount() |
Retourne le nombre de types de paramètres dans ce type de méthode. |
| ParameterList() |
Présente les types de paramètres sous forme de liste (méthode pratique). |
| ParameterType(Int32) |
Retourne le type de paramètre à l’index spécifié, dans ce type de méthode. |
| ReturnType() |
Retourne le type de retour de ce type de méthode. |
| SetHandle(IntPtr, JniHandleOwnership) |
Définit la propriété Handle. (Hérité de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. (Hérité de JavaObject) |
| ToArray<T>() |
Crée un tableau managé à partir de ce wrapper de tableau Java. (Hérité de Object) |
| ToMethodDescriptorString() |
Produit une représentation de descripteur bytecode du type de méthode. |
| ToString() |
Retourne une représentation de chaîne de l'objet. (Hérité de Object) |
| UnregisterFromRuntime() |
Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité. (Hérité de Object) |
| Unwrap() |
Convertit tous les types wrapper en leurs types primitifs correspondants. |
| Wait() |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<> (Hérité de Object) |
| Wait(Int64, Int32) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
| Wait(Int64) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
| Wrap() |
Convertit tous les types primitifs en leurs types wrapper correspondants. |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IJavaPeerable.Disposed() |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. (Hérité de JavaObject) |
| IJavaPeerable.Finalized() |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. (Hérité de JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. (Hérité de JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. (Hérité de JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. (Hérité de JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. (Hérité de JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. |
| ITypeDescriptor+IOfMethod.ChangeParameterType(Int32, Object) |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. |
| ITypeDescriptor+IOfMethod.ChangeReturnType(Object) |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. |
| ITypeDescriptor+IOfMethod.DropParameterTypes(Int32, Int32) |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. |
| ITypeDescriptor+IOfMethod.InsertParameterTypes(Int32, Object[]) |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. |
| ITypeDescriptor+IOfMethod.ParameterArray() |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. |
| ITypeDescriptor+IOfMethod.ParameterList() |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. |
| ITypeDescriptor+IOfMethod.ParameterType(Int32) |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. |
| ITypeDescriptor+IOfMethod.ReturnType() |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. |
Méthodes d’extension
| Nom | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtient le nom JNI du type de l’instance |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Un type de méthode représente les arguments et le type de retour acceptés et retournés par un handle de méthode, ou les arguments et le type de retour transmis et attendus par un appelant de handle de méthode. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Essayez de forcer |