This post originated from an RSS feed registered with .NET Buzz
by -.
Original Post: .NET Serialisierung und Versionierung
Feed Title: Norbert Eder - Living .NET
Feed URL: http://feeds.feedburner.com/NorbertEder-Livingnet
Feed Description: Copyright (c)2005, 2006 by Norbert Eder
Bei Verwendung der .NET Serialisierung stellt sich bei einer ��nderung von zu serialisierenden Objekten oft die Frage, wie diese auf der Gegenseite behandelt werden. Um Probleme beim Deserialisieren auf der Gegenseite zu vermeiden, k��nnen die zus��tzlichen Eigenschaften mit unterschiedlichen Attributen versehen werden, um dieser Falle Herr zu werden.
Hier die einzelnen Attribute und welche Bedeutung ihnen zukommt:
[NonSerialized()] Dieses Attribut gibt an, dass die entsprechende Eigenschaft nicht serialisiert wird.
[OptionalField] Damit wird die entsprechende Eigenschaft als optional gekennzeichnet. Sendet nun beispielsweise eine ��ltere Anwendungsversion das Objekt serialisiert zu einer neueren Version, wird das Fehlen der Eigenschaft einfach ignoriert.
[OnDeserializing] Dieses Attribut wird nicht bei Eigenschaften gesetzt, sondern nur bei einer Methode - und zwar bei ausschlie��lich einer Methode pro Klasse. Dies wird haupts��chlich f��r Versionierungszwecken getan. Die Damit gekennzeichnete Methode hat nun die M��glichkeit in den Serialisierungsprozess einzugreifen und die fehlenden Werte zu setzen.
Weitere Informationen und auch Beispiele zu diesen Attributen k��nnen durch den MSDN Artikel Version Tolerant Serialization bezogen werden.