2010-07-30 15 views
12

Ich verwende einen XmlSerializer, um ein Objekt zu serialisieren und in eine Datei zu schreiben. Ich hatte einige Erfolge damit, dass der Serialisierer das tut, was er in Bezug auf Verschachtelungselemente tun soll und was als Elemente vs. Attribute serialisiert wird. Leider bin ich auf ein Problem gestoßen, bei dem ich ein Mitglied einer Klasse vor einem anderen serialisieren muss. Anderswo hat es für mich funktioniert, dass das, was zuerst erklärt wird, zuerst serialisiert wird, aber in diesem Fall habe ich nicht so viel Erfolg damit. Gibt es eine Möglichkeit, die Reihenfolge, in der Dinge serialisiert werden, manuell zu steuern?Reihenfolge der Serialisierung in C steuern #

Antwort

25
[XmlElementAttribute(Order = 1)] 
public int Field1 {...} 

[XmlElementAttribute(Order = 2)] 
public int Field2 {...} 

Fang: Sie müssen die Order für alle Ihre Mitglieder angeben.

+0

Perfekt. Ich denke, dass ich das entweder auf MSDN verpasst habe oder nicht genug gegraben habe, um es zu finden. Vielen Dank. – Zannjaminderson

+0

Möglicherweise verwandt: Gibt es eine Möglichkeit, die Reihenfolge mit XML-Attributen zu steuern? 'XmlAttributeAttribute' hat keine solche Eigenschaft. –

+1

@Travis: Nach meiner Erfahrung gibt es weniger (wenn überhaupt) Probleme mit dem Serialisieren von Attributen in der Reihenfolge, in der sie deklariert werden. –

2

XmlElementAttribute.Order, die steuert "die explizite Reihenfolge, in der die Elemente serialisiert oder deserialisiert werden".

Verwandte Themen