Passaggi del processo di serializzazione

Quando un metodo Serialize viene chiamato su un formattatore, la serializzazione degli oggetti si svilupperà in base alle seguenti regole:

  • Viene effettuato un controllo per determinare se il formattatore dispone di un selettore di surrogati. In caso affermativo, si controlla se il selettore di surrogati gestisce oggetti del tipo dato. Se il selettore gestisce tale tipo di oggetto, viene chiamato ISerializable.GetObjectData sul selettore di surrogati.
  • Se il selettore di surrogati non è presente o non gestisce il tipo di oggetto, viene verificato se l'oggetto è contrassegnato con l'attributo Serializable. In caso negativo, viene generata una SerializationException.
  • Se l'oggetto è opportunamente contrassegnato, si verifica se implementa l'interfaccia ISerializable. In caso affermativo, viene chiamato GetObjectData sull'oggetto.
  • Se ISerializable non viene implementata, verranno adottati i criteri di serializzazione predefiniti e tutti i campi non contrassegnati come NonSerialized verranno serializzati.

Vedere anche

Serializzazione binaria | Accesso a oggetti in altri domini applicazione mediante .NET Remoting | Serializzazione XML