序列化过程的步骤

当对格式化程序调用 Serialize 方法时,对象序列化将根据以下规则序列继续进行:

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

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

  • 如果用此属性正确标记了该对象,则检查该对象是否实现 ISerializable 接口。如果该对象实现此接口,则对该对象调用 GetObjectData

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

请参见

其他资源

二进制序列化
远程对象
XML 和 SOAP 序列化