Управление порядком сериализации в C#

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

15
задан Zann Anderson 30 July 2010 в 16:35
поделиться

2 ответа

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

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

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

Будьте осторожны - десериализация будет работать, только если свойства в XML-документе находятся в том же порядке. В противном случае он будет молча игнорировать неупорядоченные свойства.

29
ответ дан 1 December 2019 в 02:01
поделиться

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

2
ответ дан 1 December 2019 в 02:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: