ObjectInputStream.ResolveProxyClass(String[]) Méthode
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.
Retourne une classe proxy qui implémente les interfaces nommées dans un descripteur de classe proxy ; Les sous-classes peuvent implémenter cette méthode pour lire des données personnalisées à partir du flux, ainsi que les descripteurs pour les classes proxy dynamiques, ce qui leur permet d’utiliser un autre mécanisme de chargement pour les interfaces et la classe proxy.
[Android.Runtime.Register("resolveProxyClass", "([Ljava/lang/String;)Ljava/lang/Class;", "GetResolveProxyClass_arrayLjava_lang_String_Handler")]
protected virtual Java.Lang.Class? ResolveProxyClass(string[]? interfaces);
[<Android.Runtime.Register("resolveProxyClass", "([Ljava/lang/String;)Ljava/lang/Class;", "GetResolveProxyClass_arrayLjava_lang_String_Handler")>]
abstract member ResolveProxyClass : string[] -> Java.Lang.Class
override this.ResolveProxyClass : string[] -> Java.Lang.Class
Paramètres
- interfaces
- String[]
liste des noms d’interface désérialisés dans le descripteur de classe proxy
Retours
classe proxy pour les interfaces spécifiées
- Attributs
Exceptions
si la classe proxy ou l’une des interfaces spécifiées ne peut pas être créée.
si une erreur se produit lors de la lecture à partir du flux source.
Remarques
Retourne une classe proxy qui implémente les interfaces nommées dans un descripteur de classe proxy ; Les sous-classes peuvent implémenter cette méthode pour lire des données personnalisées à partir du flux, ainsi que les descripteurs pour les classes proxy dynamiques, ce qui leur permet d’utiliser un autre mécanisme de chargement pour les interfaces et la classe proxy.
Cette méthode est appelée exactement une fois pour chaque descripteur de classe proxy unique dans le flux.
La méthode correspondante est ObjectOutputStreamannotateProxyClass. Pour une sous-classe donnée de ObjectInputStream cette méthode, la annotateProxyClass méthode de la sous-classe correspondante doit ObjectOutputStream écrire toutes les données ou objets lus par cette méthode.
L’implémentation par défaut de cette méthode ObjectInputStream retourne le résultat de l’appel Proxy.getProxyClass avec la liste des Class objets pour les interfaces nommées dans le interfaces paramètre. L’objet Class de chaque nom i d’interface est la valeur retournée par l’appel
Class.forName(i, false, loader)
où loader est celui du premier chargeur de classenull qui monte dans la pile d’exécution, ou null si aucun chargeur de classenull n’est sur la pile (le même choix de chargeur de classe utilisé par la resolveClass méthode). Sauf si l’une des interfaces résolues n’est pas publique, cette même valeur est également le chargeur de loader classes passé à Proxy.getProxyClass; si des interfaces non publiques sont présentes, leur chargeur de classe est passé à la place (si plusieurs chargeurs de classes d’interface non publique sont rencontrés, un IllegalAccessError est levée). Si Proxy.getProxyClass lève un IllegalArgumentException, resolveProxyClass lève un ClassNotFoundException élément contenant le IllegalArgumentException.
Ajouté dans la version 1.3.
Java documentation pour java.io.ObjectInputStream.resolveProxyClass(java.lang.String[]).
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.