2010-07-30 9 views
12

Estoy usando un XmlSerializer para serializar un objeto y escribirlo en un archivo. He tenido bastante éxito con el serializador haciendo lo que quiero que haga en términos de elementos de anidamiento y lo que se serializa como elementos vs atributos. Lamentablemente, me he encontrado con un problema en el que necesito que un miembro de una clase serialice antes que otro. En otros lugares me ha funcionado que todo lo que se declara primero se serialice primero, pero en este caso no estoy teniendo tanto éxito con eso. ¿Hay alguna manera de controlar manualmente el orden en que las cosas se serializan?Controlar el orden de la serialización en C#

Respuesta

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

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

Catch: Debe especificar el Order para todos sus miembros.

+0

Perfecto. Supongo que o bien me lo perdí en MSDN o no busqué lo suficiente para encontrarlo. Gracias. – Zannjaminderson

+0

Posiblemente relacionado: ¿hay alguna forma de controlar el pedido con atributos XML? 'XmlAttributeAttribute' no tiene esa propiedad. –

+1

@Travis: en mi experiencia, hay menos (si es que hay alguno) problemas con la obtención de atributos para serializar en el orden en que se declaran. –

Cuestiones relacionadas