Langage

ObjectInputStream.ResolveProxyClass(String[]) Méthode

Définition

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)

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.

S’applique à