ObjectInputStream.ResolveProxyClass(String[]) Método

Definición

Devuelve una clase de proxy que implementa las interfaces denominadas en un descriptor de clase de proxy; Las subclases pueden implementar este método para leer datos personalizados de la secuencia junto con los descriptores de las clases de proxy dinámico, lo que les permite usar un mecanismo de carga alternativo para las interfaces y la clase 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

Parámetros

interfaces
String[]

la lista de nombres de interfaz que se deserializaron en el descriptor de clase de proxy

Devoluciones

una clase de proxy para las interfaces especificadas

Atributos

Excepciones

si no se puede crear la clase proxy o cualquiera de las interfaces especificadas.

si se produce un error al leer desde la secuencia de origen.

Comentarios

Devuelve una clase de proxy que implementa las interfaces denominadas en un descriptor de clase de proxy; Las subclases pueden implementar este método para leer datos personalizados de la secuencia junto con los descriptores de las clases de proxy dinámico, lo que les permite usar un mecanismo de carga alternativo para las interfaces y la clase proxy.

Este método se llama exactamente una vez para cada descriptor de clase proxy único en la secuencia.

El método correspondiente de ObjectOutputStream es annotateProxyClass. Para una subclase determinada de ObjectInputStream que invalida este método, el annotateProxyClass método de la subclase correspondiente de ObjectOutputStream debe escribir los datos u objetos leídos por este método.

La implementación predeterminada de este método en ObjectInputStream devuelve el resultado de llamar a Proxy.getProxyClass con la lista de objetos de Class las interfaces denominadas en el interfaces parámetro . El Class objeto de cada nombre i de interfaz es el valor devuelto llamando a .

Class.forName(i, false, loader)

donde loader es el del primer cargador que nonull es de clase arriba de la pila de ejecución, o null si no hay cargadoresnull de clases en la pila (la misma opción de cargador de clases usada por el resolveClass método ). A menos que cualquiera de las interfaces resueltas no sea pública, este mismo valor de también es el cargador de clases pasado a Proxy.getProxyClass; si hay interfaces no públicas, su cargador de clases se pasa en su lugar (si se encuentra más de un cargador de loader clases de interfaz no pública, se produce una IllegalAccessError excepción ). Si Proxy.getProxyClass produce un , IllegalArgumentExceptionresolveProxyClass iniciará un ClassNotFoundException objeto que contiene .IllegalArgumentException

Agregado en la versión 1.3.

Java documentación para java.io.ObjectInputStream.resolveProxyClass(java.lang.String[]).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a