Ich kann eingehende Klassennamen mithilfe von SerializationBinder
und Überschreiben der BindToType
-Methode zuordnen, habe jedoch keine Möglichkeit gefunden, den Namen der Klasse im Serialisierungsprozess zu ändern. Ist das überhaupt möglich?
BEARBEITEN:
Ich beziehe mich auf die Serialisierung mit dem System.Runtime.Serialization
und nicht mit dem System.Xml.Serialization
.
Danke!
Ich habe herausgefunden, dass ich das SerializationInfo
-Objekt verwenden kann, das in der GetObjectData
-Funktion kommt, und ändere die AssemblyName
und FullTypeName
-Eigenschaften, so dass ich beim Deserialisieren ein SerializationBinder
verwenden kann die benutzerdefinierte Assembly und den Typ-Namen zurück zu einem gültigen Typ. Hier ist ein Semple:
Serialisierbare Klasse:
%Vor%Serialisierungsbinder:
%Vor%Serialisierungscode:
%Vor%Deserialisierungscode:
%Vor%Tags und Links .net c# serialization