У меня есть общий базовый класс, который имеет тело свойства и другой производный класс, который имеет заголовок свойства, и когда я десериализую производный класс в xml, он сначала помещает тело в качестве первого элемента, затем заголовка (десериализация в алфавитном порядке), но я хочу сначала заголовок, а затем тело . Я пробовал свойство order XmlElement, но оно не работает
Образец класса:
[XmlRoot("BaseClass", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
public class BaseClass<T>
{
public T Body { get; set; }
}
[XmlRoot("DerivedClass", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
public class DerivedClass<THeader, TBody> : BaseClass<TBody>
where THeader : IEnvelopeHeader where TBody : class, IEnvelopeBody, new()
{
public THeader Header { get; set; }
}
Я видел одно решение, в котором говорится, что сделать свойство в базовом классе абстрактным и переопределить в производном классе, а затем определить порядок, но я не могу использовать это решение, которое мой базовый класс также используется в некоторых других проектах.