Condividi tramite


ObjectOutputStream.WriteUnshared(Object) Metodo

Definizione

Scrive un oggetto "non condiviso" nell'oggetto ObjectOutputStream.

[Android.Runtime.Register("writeUnshared", "(Ljava/lang/Object;)V", "GetWriteUnshared_Ljava_lang_Object_Handler")]
public virtual void WriteUnshared (Java.Lang.Object? obj);
[<Android.Runtime.Register("writeUnshared", "(Ljava/lang/Object;)V", "GetWriteUnshared_Ljava_lang_Object_Handler")>]
abstract member WriteUnshared : Java.Lang.Object -> unit
override this.WriteUnshared : Java.Lang.Object -> unit

Parametri

obj
Object

oggetto da scrivere nel flusso

Attributi

Eccezioni

se si verifica un errore durante la scrittura nel flusso di destinazione.

Commenti

Scrive un oggetto "non condiviso" nell'oggetto ObjectOutputStream. Questo metodo è identico a writeObject, ad eccezione del fatto che scrive sempre l'oggetto specificato come nuovo oggetto univoco nel flusso , anziché un back-reference che punta a un'istanza serializzata in precedenza. In particolare: <ul><li>Un oggetto scritto tramite writeUnshared viene sempre serializzato nello stesso modo di un oggetto appena visualizzato (un oggetto che non è ancora stato scritto nel flusso), indipendentemente dal fatto che l'oggetto sia stato scritto in precedenza.

<li>Se writeObject viene utilizzato per scrivere un oggetto scritto in precedenza con writeUnshared, l'operazione writeUnshared precedente viene considerata come se fosse una scrittura di un oggetto separato. In altre parole, ObjectOutputStream non genererà mai back-reference ai dati oggetto scritti dalle chiamate a writeUnshared. </ul> Durante la scrittura di un oggetto tramite writeUnshared non garantisce un riferimento univoco all'oggetto quando viene deserializzato, consente di definire più volte un singolo oggetto in un flusso, in modo che più chiamate a readUnshared dal ricevitore non siano in conflitto. Si noti che le regole descritte in precedenza si applicano solo all'oggetto a livello di base scritto con writeUnshared e non a oggetti secondari a cui si fa riferimento transitivamente nell'oggetto grafico da serializzare.

Le sottoclassi ObjectOutputStream che eseguono l'override di questo metodo possono essere costruite solo nei contesti di sicurezza che possiedono la "enableSubclassImplementation" SerializablePermission; qualsiasi tentativo di creare un'istanza di tale sottoclasse senza questa autorizzazione causerà la creazione di un'eccezione SecurityException.

Aggiunta nella versione 1.4.

Documentazione java per java.io.ObjectOutputStream.writeUnshared(java.lang.Object).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a

Vedi anche