XML Serialisierung von neuen Properties

17/01/2008 - 11:59 von Florian Simon | Report spam
Hallo zusammen.

Ich habe hier eine Klasse, die mit einem XMLSerializer serialisiert
wird. In einer neuen Version der Anwendung musste ich nun ein
zusàtzliches Property zur Klasse hinzufügen.
Kann ich irgendwie erreichen, dass das neue Feld beim deserialisieren
von XML Files, in denen noch die alte Version der Klasse (ohne
zusàtzliches Property) steht, mit einem Default Wert gefüllt wird?
Müsste doch bestimmt irgendwie machbar sein, oder?

Gruß
Florian
 

Lesen sie die antworten

#1 Frank Dzaebel
17/01/2008 - 14:39 | Warnen spam
Hallo Florian,

Kann ich irgendwie erreichen, dass das neue Feld beim deserialisieren
von XML Files, in denen noch die alte Version der Klasse (ohne
zusàtzliches Property) steht, mit einem Default Wert gefüllt wird?
Müsste doch bestimmt irgendwie machbar sein, oder?



Da brauchst Du eigentlich gar nichts machen.
Wenn Du aus folgendem Artikel:

[Mit dem XmlSerializer eigene Objekte serialisieren und
deserialisieren]
http://dzaebel.net/XmlSerializer.htm

den Download für .NET 2.0 nimmst, kannst Du
einfach eine neue Property, etwa:

private int alterNeu = 42;

[DefaultValue(42)]
public int AlterNeu
{
get { return alterNeu; }
set { alterNeu = value; }
}

zufügen und es funktioniert.
Ansonsten siehe auch den Link dort zur:

[Versionstolerante Serialisierung]
http://msdn2.microsoft.com/de-de/li...29752.aspx


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen