ISerial Interfaccia

Definizione

Indica che un campo o un metodo con annotazioni fa parte del meccanismo di serializzazione serializzabile definito dalla <cite> Java specifica/cite< della serializzazione> degli oggetti.

[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
Attributi
Implementazioni

Commenti

Indica che un campo o un metodo con annotazioni fa parte del meccanismo di serializzazione serializzabile definito dalla <cite> Java specifica/cite< della serializzazione> degli oggetti. Questo tipo di annotazione è progettato per consentire il controllo in fase di compilazione delle dichiarazioni correlate alla serializzazione, analogo al controllo abilitato dal java.lang.Override tipo di annotazione per convalidare l'override del metodo. Serializable Le classi sono incoraggiate a usare @Serial annotazioni per consentire a un compilatore di intercettare campi e metodi correlati alla serializzazione non dichiarati in modo non dannoso, dichiarazioni errate che potrebbero altrimenti essere difficili da rilevare.

In particolare, le annotazioni di questo tipo devono essere applicate ai metodi e ai campi correlati alla serializzazione nelle classi dichiarate come Serializable. I cinque metodi correlati alla serializzazione sono:

<ul><li><private void writeObject(java.io.ObjectOutputStream stream) throws IOExceptionli li>private void readObject(java.io.ObjectInputStream stream) throws IOException, ClassNotFoundException<<>>private void readObjectNoData() throws ObjectStreamExceptionANY-ACCESS-MODIFIERli>ANY-ACCESS-MODIFIERObject readResolve() throws ObjectStreamExceptionObject writeReplace() throws ObjectStreamException<</ul>

I due campi correlati alla serializzazione sono:

<ul>li li<>private static final ObjectStreamField[] serialPersistentFields<>private static final long serialVersionUID/ul<>

I compilatori sono invitati a verificare che un metodo o un campo contrassegnato con un'annotazione @Serial sia uno dei metodi o dei campi definiti correlati alla serializzazione dichiarati in un contesto significativo e generare un avviso se non è così.

Si tratta di un errore semantico per applicare questa annotazione ad altri campi o metodi, inclusi i <campi o i metodi ul><li>in una classe che non Serializable<è campi li>o metodi della dichiarazione strutturale appropriata, ma in un tipo in cui sono inefficace. Ad esempio, enum i tipi vengono definiti in modo che un serialVersionUIDserialVersionUID0L campo dichiarato in un enum tipo venga ignorato. I cinque metodi correlati alla serializzazione identificati in precedenza vengono ignorati in modo analogo per un enum tipo.

<li>in una classe che è Externalizable: <dichiarazioni di metodo ul><li> di writeObject, readObjecte readObjectNoData<li>una dichiarazione di campo per serialPersistentFields</ul>

Mentre l'interfaccia Externalizable estende Serializable, i tre metodi e un campo precedente sono <em>not</em> usati per le classi esterne.

</ul>

Si noti che il meccanismo di serializzazione accede ai relativi campi e metodi designati in modo riflettente e tali campi e metodi potrebbero apparire altrimenti inutilizzati in una Serializable classe.

Aggiunta in 14.

per java.io.Serial.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Proprietà

Nome Descrizione
Handle

Ottiene il valore JNI dell'oggetto Android sottostante.

(Ereditato da IJavaObject)
JniIdentityHashCode

Restituisce il valore di java.lang.System.identityHashCode() per l'istanza di cui è stato eseguito il wrapping.

(Ereditato da IJavaPeerable)
JniManagedPeerState

Stato del peer gestito.

(Ereditato da IJavaPeerable)
JniPeerMembers

Supporto per l'accesso ai membri e la chiamata.

(Ereditato da IJavaPeerable)
PeerReference

Restituisce un JniObjectReference oggetto dell'istanza dell'oggetto di cui è stato eseguito il wrapping Java.

(Ereditato da IJavaPeerable)

Metodi

Nome Descrizione
AnnotationType()

Restituisce l'interfaccia di annotazione di questa annotazione.

(Ereditato da IAnnotation)
Disposed()

Chiamato quando l'istanza è stata eliminata.

(Ereditato da IJavaPeerable)
DisposeUnlessReferenced()

Se non sono presenti riferimenti in sospeso a questa istanza, chiama Dispose(); in caso contrario, non esegue alcuna operazione.

(Ereditato da IJavaPeerable)
Equals(Object)

Restituisce true se l'oggetto specificato rappresenta un'annotazione equivalente logicamente a questa.

(Ereditato da IAnnotation)
Finalized()

Chiamato quando l'istanza è stata finalizzata.

(Ereditato da IJavaPeerable)
GetHashCode()

Restituisce il codice hash di questa annotazione.

(Ereditato da IAnnotation)
SetJniIdentityHashCode(Int32)

Impostare il valore restituito da JniIdentityHashCode.

(Ereditato da IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Indica che un campo o un metodo con annotazioni fa parte del meccanismo di serializzazione serializzabile definito dalla <cite> Java specifica/cite< della serializzazione> degli oggetti.

(Ereditato da IJavaPeerable)
SetPeerReference(JniObjectReference)

Impostare il valore restituito da PeerReference.

(Ereditato da IJavaPeerable)
ToString()

Restituisce una rappresentazione di stringa di questa annotazione.

(Ereditato da IAnnotation)
UnregisterFromRuntime()

Annullare la registrazione di questa istanza in modo che il runtime non lo restituisca dalle chiamate future Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Ereditato da IJavaPeerable)

Metodi di estensione

Nome Descrizione
GetJniTypeName(IJavaPeerable)

Ottiene il nome JNI del tipo dell'istanza selfdi .

JavaAs<TResult>(IJavaPeerable)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Indica che un campo o un metodo con annotazioni fa parte del meccanismo di serializzazione serializzabile definito dalla <cite> Java specifica/cite< della serializzazione> degli oggetti.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

Si applica a