Angenommen, ich diese Klasse hatte: Serialized wirdeine neuere Version eines Objekts von einer älteren Version des Objekts Deserialisieren
[Serializable]
public class SomeClass
{
public SomeClass() {//init}
public string SomeString {get;set;}
}
Diese Klasse, wenn die Anwendung geschlossen wird, und wird auf den nächsten Lauf deserialisiert.
Dann baute ich es und veröffentlichte die Anwendung, und jetzt die Klasse hat sich geändert:
[Serializable]
public class SomeClass
{
public SomeClass() {//init}
public string SomeString {get;set;}
public int SomeInt {get;set;}
}
Gibt es eine Möglichkeit, eine Eigenschaft auf den Standard auf Deserialisierung zu setzen, falls es nicht in der alten serialisierten gefunden Objekt? Eine Art, wie ich dachte, ist, die alte Version der Klasse beizubehalten, dann die Version zu überprüfen, die serialisiert wurde, Eigenschaften des alten Objekts zu schleifen und sie in dem neuen Objekt zu setzen, aber das ist für mich nicht sinnlos Lösung, die Sinn macht?
Welcher Serialisierer? Es gibt Schnittstellen/Attribute, die Sie verwenden können, um zu modifizieren, wie das Objekt [de] serialisiert, aber es hängt davon ab, welche Bibliothek. –
@BradChristie Ich benutze die 'BinaryFormatter' – FPGA
Werfen Sie einen Blick auf die Verwendung eines benutzerdefinierten [Binder] (http://msdn.microsoft.com/en-us/library/system.runtime.serialization.formatters.binary.binaryformatter.binder (v = vs.110) .aspx) –