Condividi tramite


ObjectInputStream.ResolveObject(Object) Metodo

Definizione

Questo metodo consentirà alle sottoclassi attendibili di ObjectInputStream di sostituire un oggetto per un altro durante la deserializzazione.

[Android.Runtime.Register("resolveObject", "(Ljava/lang/Object;)Ljava/lang/Object;", "GetResolveObject_Ljava_lang_Object_Handler")]
protected virtual Java.Lang.Object? ResolveObject (Java.Lang.Object? obj);
[<Android.Runtime.Register("resolveObject", "(Ljava/lang/Object;)Ljava/lang/Object;", "GetResolveObject_Ljava_lang_Object_Handler")>]
abstract member ResolveObject : Java.Lang.Object -> Java.Lang.Object
override this.ResolveObject : Java.Lang.Object -> Java.Lang.Object

Parametri

obj
Object

oggetto da sostituire

Restituisce

oggetto sostituito

Attributi

Eccezioni

se si verifica un errore di I/O durante la creazione dell'oggetto sostitutivo.

Commenti

Questo metodo consentirà alle sottoclassi attendibili di ObjectInputStream di sostituire un oggetto per un altro durante la deserializzazione. La sostituzione degli oggetti è disabilitata fino a quando non viene chiamato enableResolveObject. Il metodo enableResolveObject verifica che il flusso che richiede di risolvere l'oggetto possa essere considerato attendibile. Ogni riferimento a oggetti serializzabili viene passato a resolveObject. Per assicurarsi che lo stato privato degli oggetti non sia involontariamente esposto solo flussi attendibili può usare resolveObject.

Questo metodo viene chiamato dopo la lettura di un oggetto, ma prima che venga restituito da readObject. Il metodo resolveObject predefinito restituisce solo lo stesso oggetto.

Quando una sottoclasse sostituisce gli oggetti, deve assicurarsi che l'oggetto sostituito sia compatibile con ogni campo in cui verrà archiviato il riferimento. Oggetti il cui tipo non è una sottoclasse del tipo del campo o dell'elemento matrice interrompe la serializzazione generando un'eccezione e l'oggetto non viene archiviato.

Questo metodo viene chiamato una sola volta quando ogni oggetto viene rilevato per la prima volta. Tutti i riferimenti successivi all'oggetto verranno reindirizzati al nuovo oggetto.

Documentazione java per java.io.ObjectInputStream.resolveObject(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