使用 SerializationBinder 控制序列化和反序列化
在序列化过程中,格式化程序传输创建正确类型和版本的对象实例时所需的信息。此信息通常包括对象的完整类型名称和程序集名称。默认情况下,反序列化可使用此信息创建相同对象的实例。由于原始类可能在执行反序列化的计算机上不存在,原始类已在程序集之间移动,或者服务器和客户端要求使用不同的类版本,因此有些用户可能需要控制要序列化和反序列化哪个类。有关更多信息,请参见 序列化联编程序的用法.
警告: |
---|
此功能仅在使用 BinaryFormatter 或 NetDataContractSerializer 时可用。 |
使用 SerializationBinder
SerializationBinder 是抽象类,用于控制在序列化和反序列化期间使用的实际类型。若要控制在序列化和反序列化期间使用的类型,请从 SerializationBinder 派生一个类,并重写 BindToName 和 BindToType 方法。BindToName 方法采用 Type,并返回程序集名称和类型名称。BindToType 方法采用程序集名称和类型名称,并返回 Type。