ObjectInputStream.ResolveClass(ObjectStreamClass) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Cargue la clase local equivalente a la descripción de la clase de secuencia especificada.
[Android.Runtime.Register("resolveClass", "(Ljava/io/ObjectStreamClass;)Ljava/lang/Class;", "GetResolveClass_Ljava_io_ObjectStreamClass_Handler")]
protected virtual Java.Lang.Class? ResolveClass(Java.IO.ObjectStreamClass? desc);
[<Android.Runtime.Register("resolveClass", "(Ljava/io/ObjectStreamClass;)Ljava/lang/Class;", "GetResolveClass_Ljava_io_ObjectStreamClass_Handler")>]
abstract member ResolveClass : Java.IO.ObjectStreamClass -> Java.Lang.Class
override this.ResolveClass : Java.IO.ObjectStreamClass -> Java.Lang.Class
Parámetros
- desc
- ObjectStreamClass
una instancia de la clase ObjectStreamClass
Devoluciones
un Class objeto correspondiente a desc
- Atributos
Excepciones
si no se encuentra la clase de un objeto.
si se produce un error de E/S al crear la clase .
Comentarios
Cargue la clase local equivalente a la descripción de la clase de secuencia especificada. Las subclases pueden implementar este método para permitir que las clases se capturen desde un origen alternativo.
El método correspondiente de ObjectOutputStream es annotateClass. Este método solo se invocará una vez para cada clase única de la secuencia. Este método se puede implementar mediante subclases para usar un mecanismo de carga alternativo, pero debe devolver un Class objeto . Una vez devuelto, si la clase no es una clase de matriz, su serialVersionUID se compara con la serialVersionUID de la clase serializada y, si hay un error de coincidencia, se produce un error en la deserialización y se produce una InvalidClassException excepción .
La implementación predeterminada de este método en ObjectInputStream devuelve el resultado de llamar a
Class.forName(desc.getName(), false, loader)
donde loader se determina de la siguiente manera: si hay un método en la pila del subproceso actual cuya clase de declaración se definió mediante un cargador de clases definido por el usuario (y no se generó para implementar invocaciones reflectantes), entonces loader es el cargador de clases correspondiente al método más cercano al marco que se está ejecutando actualmente; de lo contrario, loader es null. Si esta llamada da como resultado y ClassNotFoundException el nombre de la instancia pasada ObjectStreamClass es la palabra clave de lenguaje Java para un tipo primitivo o void, el Class objeto que representa ese tipo primitivo o void se devolverá (por ejemplo, un ObjectStreamClass con el nombre "int" se resolverá en Integer.TYPE). De lo contrario, se iniciará en ClassNotFoundException el autor de la llamada de este método.
Java documentación para java.io.ObjectInputStream.resolveClass(java.io.ObjectStreamClass).
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.