Steuern der Serialisierung und Deserialisierung mit SerializationBinderControlling Serialization and Deserialization with SerializationBinder

Ein Formatierungsprogramm überträgt während der Serialisierung die Informationen, die zum Erstellen einer Instanz eines Objekts mit dem korrekten Typ und der korrekten Version erforderlich sind.During serialization, a formatter transmits the information required to create an instance of an object of the correct type and version. Diese Informationen enthalten i. d. R. den vollständigen Typ- und Assemblynamen des Objekts.This information generally includes the full type name and assembly name of the object. Standardmäßig verwendet die Deserialisierung diese Informationen zum Erstellen einer Instanz eines identischen Objekts.By default, deserialization uses this information to create an instance of an identical object. Einige Benutzer müssen ggf. steuern, welche Klasse serialisiert und deserialisiert werden soll. Der Grund dafür kann sein, dass die ursprüngliche Klasse auf dem Computer, der die Deserialisierung ausführt, nicht vorhanden ist, dass die ursprüngliche Klasse die Assembly gewechselt hat oder dass auf dem Server und Client eine andere Version der Klasse erforderlich ist.Some users may need to control which class to serialize and deserialize, either because the original class may not exist on the machine performing deserialization, the original class has moved between assemblies, or a different version of the class is required on the server and client. Weitere Informationen finden Sie unter Verwendung Serialisierungsbinder.For more information, see Usage of Serialization Binder.

Warnung

Die Funktion ist nur verfügbar, wenn Sie BinaryFormatter oder NetDataContractSerializer verwenden.This functionality is only available when using the BinaryFormatter or the NetDataContractSerializer.

Verwenden von SerializationBinderUsing SerializationBinder

SerializationBinder ist eine abstrakte Klasse, mit der die tatsächlichen Typen gesteuert werden, die während der Serialisierung und Deserialisierung verwendet werden.SerializationBinder is an abstract class used to control the actual types used during serialization and deserialization. Zum Steuern der Typen, die während der Serialisierung und Deserialisierung verwendet werden, leiten Sie eine Klasse von SerializationBinder ab und überschreiben die Methoden BindToName(Type, String, String) und BindToType(String, String).To control the types used during serialization and deserialization, derive a class from SerializationBinder and override the BindToName(Type, String, String) and BindToType(String, String) methods. Die BindToName(Type, String, String)-Methode verwendet einen Type und gibt eine Assembly und einen Typnamen zurück.The BindToName(Type, String, String) method takes a Type and returns an assembly and type name. Die BindToType(String, String)-Methode verwendet eine Assembly und einen Typnamen und gibt Type zurück.The BindToType(String, String) method takes an assembly and type name and returns a Type.

Siehe auchSee Also

Serialisierung und DeserialisierungSerialization and Deserialization
Verwendung des SerialisierungsbindersUsage of Serialization Binder