ISerial Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.
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 |
| 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 |
| 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 |
| 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| 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 |