Поделиться через


Этапы процесса сериализации

При вызове метода Serialize для модуля форматирования сериализация объекта осуществляется в следующей последовательности:

  • Выполняется проверка для определения, имеется ли у модуля форматирования суррогатный селектор. Если такой селектор обнаружен, выполняется проверка, обрабатывает ли суррогатный селектор объекты указанного типа. Если селектор обрабатывает объекты такого типа, для суррогатного селектора вызывается ISerializable.GetObjectData.

  • Если суррогатный селектор отсутствует или не обрабатывает объекты такого типа, объект проверяется на наличие атрибута Serializable. Если такой атрибут отсутствует, выдается SerializationException.

  • Если объект отмечен правильным атрибутом, проверяется, реализует ли объект интерфейс ISerializable. Если объект такой интерфейс реализует, для него вызывается GetObjectData.

  • Если объект не реализует интерфейс ISerializable, используется политика сериализации по умолчанию, при которой сериализуются все поля, не отмеченные NonSerialized.

См. также

Другие ресурсы

Двоичная сериализация
Remote Objects
XML- и SOAP-сериализация