Mittendrin.

Zurück

Flurfunk der eXperts.

Hier erfahren Sie mehr über eXperts, Technologien und das wahre Leben in der SDX.

Überraschende InvalidOperationException im XmlSerializer ab .Net 4.0

29.06.201016:16 Uhr , Sven Matzen

Es gibt eine kleine Änderung im XmlSerializer seit der Version 4.0 des .Net Frameworks. MSDN erwähnt die Änderung mit dem Satz “In the  the XmlSerializer class no longer serializes objects that are marked as [Obsolete].”. Nicht nur ist die Grammatik des Satzes falsch, auch bedeutet das: Objekte, die mit [Obsolete] gekennzeichnete Properties enthalten, können ggf. nicht mehr korrekt (de)serialisiert werden.

Es bedeutet außerdem: Niemals das Obsolete-Attribut in einer enum verwenden!

Der Grund ist einfach: wenn eine Entität mit dem enum-Wert “a” serialisiert wurde, kann sie nach dem Markieren des Wertes “a” mit dem Obsolete-Attribut nicht mehr gelesen werden. Eine InvalidOperationException wird statt dessen gefeuert.

Diese Änderung bedeutet weiterhin, dass das Obsolete-Attribut nicht mehr länger ein Hinweis an den Programmierer ist, sondern ggf. vorhandene Daten unlesbar machen kann.

Tags: .NET Dev

0 Kommentare
Dein Kommentar wartet auf Freischaltung.

Artikel kommentieren

Zurück

Tag Cloud


Kontakt aufnehmen


Anrufen

Gerne beantworten wir Ihre Fragen in einem persönlichen Gespräch!


Kontakt aufnehmen

Schreiben Sie uns eine E-Mail mit Ihren Fragen und Kommentaren!