序列化过程中的步骤

格式化程序调用 Serialize 方法时,将按照以下规则顺序进行对象序列化:

  • 进行检查以确定格式化程序是否具有代理项选择器。如果有,则检查代理项选择器是否处理给定类型的对象。如果选择器处理该对象类型,则在代理项选择器上调用 ISerializable.GetObjectData

  • 如果没有代理项选择器,或者代理项选择器不处理该对象类型,则进行检查以确定是否用 Serializable 特性标记了该对象。如果未标记该对象,则会引发 SerializationException

  • 如果已相应地标记了对象,则检查该对象是否实现 ISerializable 接口。如果对象已实现该接口,则针对该对象调用 GetObjectData

  • 如果对象未实现 ISerializable,则使用默认序列化策略,从而序列化所有未标记为 NonSerialized 的字段。

另请参见

其他资源

二进制序列化
Remote Objects
XML 和 SOAP 序列化