Контроль порядка сериализации в C#

Я использую XmlSerializer для сериализации объекта и записи его в файл. Я добился немалых успехов в том, что сериализатор делает то, что я хочу, с точки зрения вложенности элементов и того, что сериализуется как элементы против атрибутов. К сожалению, я столкнулся с проблемой, когда мне нужен один член класса для сериализации перед другим. В другом месте для меня работает то, что все, что объявлено первым, сериализуется первым, но в этом случае у меня не так много успеха с этим. Есть ли способ вручную контролировать порядок, в котором вещи сериализуются?

2 ответа

Решение
[XmlElementAttribute(Order = 1)] 
public int Field1 {...} 

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

Поймать: Вы должны указать Order для всех ваших членов.

XmlElementAttribute.Order, который контролирует "явный порядок, в котором элементы сериализуются или десериализуются".

Другие вопросы по тегам