ISerial Interfaz
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í.
Indica que un campo o método anotado forma parte del mecanismo de serialización serializable definido por el <cita Java Especificación> de serialización de objetos/cita<>.
[Android.Runtime.Register("java/io/Serial", "", "Java.IO.ISerialInvoker", ApiSince=34)]
public interface ISerial : IDisposable, Java.Interop.IJavaPeerable, Java.Lang.Annotation.IAnnotation
[<Android.Runtime.Register("java/io/Serial", "", "Java.IO.ISerialInvoker", ApiSince=34)>]
type ISerial = interface
interface IAnnotation
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Atributos
- Implementaciones
Comentarios
Indica que un campo o método anotado forma parte del mecanismo de serialización serializable definido por el <cita Java Especificación> de serialización de objetos/cita<>. Este tipo de anotación está pensado para permitir la comprobación en tiempo de compilación de declaraciones relacionadas con la serialización, análoga a la comprobación habilitada por el tipo de anotación para validar la java.lang.Override invalidación del método.
Serializable Se recomienda que las clases usen @Serial anotaciones para ayudar a un compilador a detectar campos y métodos relacionados con la serialización declarados erróneamente, declaraciones incorrectas que pueden ser difíciles de detectar.
En concreto, las anotaciones de este tipo deben aplicarse a los métodos y campos relacionados con la serialización de las clases declaradas como Serializable. Los cinco métodos relacionados con la serialización son:
<ul><li>private void writeObject(java.io.ObjectOutputStream stream) throws IOException<li><private void readObject(java.io.ObjectInputStream stream) throws IOException, ClassNotFoundExceptionli li>><private void readObjectNoData() throws ObjectStreamExceptionli ANY-ACCESS-MODIFIERObject writeReplace() throws ObjectStreamException<li>ANY-ACCESS-MODIFIERObject readResolve() throws ObjectStreamException</ul>
Los dos campos relacionados con la serialización son:
<ul>li li<>private static final ObjectStreamField[] serialPersistentFields<>private static final long serialVersionUID/ul<>
Se recomienda que los compiladores validen que un método o campo marcado con una @Serial anotación sea uno de los métodos o campos definidos relacionados con la serialización declarados en un contexto significativo y emita una advertencia si no es así.
Se trata de un error semántico para aplicar esta anotación a otros campos o métodos, incluidos: <ul><li>fields or methods in a class that is not<Serializable li>fields or methods of the proper structural declaration, but in a type where they are ineffectual. Por ejemplo, enum los tipos se definen para tener un serialVersionUID de 0L para que se omita un serialVersionUID campo declarado en un enum tipo. Los cinco métodos relacionados con la serialización identificados anteriormente también se omiten para un enum tipo.
<li>en una clase que es Externalizable: <ul><li> method declarations of writeObject, readObjecty readObjectNoData<li>a field declaration for serialPersistentFields</ul>
Mientras la Externalizable interfaz extiende Serializable, los tres métodos y un campo anterior son <em>not</em> usados para clases externalizables.
</ul>
Tenga en cuenta que el mecanismo de serialización tiene acceso a sus campos y métodos designados de forma reflexiva, y esos campos y métodos pueden aparecer de otro modo sin usar en una Serializable clase.
Agregado en 14.
Java documentación para java.io.Serial.
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.
Propiedades
| Nombre | Description |
|---|---|
| Handle |
Obtiene el valor JNI del objeto Android subyacente. (Heredado de IJavaObject) |
| JniIdentityHashCode |
Devuelve el valor de |
| JniManagedPeerState |
Estado del mismo nivel administrado. (Heredado de IJavaPeerable) |
| JniPeerMembers |
Compatibilidad con la invocación y el acceso de miembros. (Heredado de IJavaPeerable) |
| PeerReference |
Devuelve un JniObjectReference de la instancia de objeto Java ajustada. (Heredado de IJavaPeerable) |
Métodos
| Nombre | Description |
|---|---|
| AnnotationType() |
Devuelve la interfaz de anotación de esta anotación. (Heredado de IAnnotation) |
| Disposed() |
Se llama cuando se ha eliminado la instancia. (Heredado de IJavaPeerable) |
| DisposeUnlessReferenced() |
Si no hay referencias pendientes a esta instancia, llama a |
| Equals(Object) |
Devuelve true si el objeto especificado representa una anotación que es lógicamente equivalente a esta. (Heredado de IAnnotation) |
| Finalized() |
Se llama cuando se ha finalizado la instancia. (Heredado de IJavaPeerable) |
| GetHashCode() |
Devuelve el código hash de esta anotación. (Heredado de IAnnotation) |
| SetJniIdentityHashCode(Int32) |
Establezca el valor devuelto por |
| SetJniManagedPeerState(JniManagedPeerStates) |
Indica que un campo o método anotado forma parte del mecanismo de serialización serializable definido por el <cita Java Especificación> de serialización de objetos/cita<>. (Heredado de IJavaPeerable) |
| SetPeerReference(JniObjectReference) |
Establezca el valor devuelto por |
| ToString() |
Devuelve una representación de cadena de esta anotación. (Heredado de IAnnotation) |
| UnregisterFromRuntime() |
Anule el registro de esta instancia para que el entorno de ejecución no lo devuelva de invocaciones futuras Java.Interop.JniRuntime+JniValueManager.PeekValue . (Heredado de IJavaPeerable) |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
Indica que un campo o método anotado forma parte del mecanismo de serialización serializable definido por el <cita Java Especificación> de serialización de objetos/cita<>. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |