Можно ли как-нибудь упорядочить элементы при использовании наследования:
Мой код выглядит следующим образом:
public class Program
{
static void Main(string[] args)
{
string filename = @"C:\temp\abc.xml";
RootElement root = new RootElement() { B = new B() { Value = "3", Value1 = "1", Value2 = "2" } };
XmlSerializer xmlSerializer = new XmlSerializer(root.GetType());
if (File.Exists(filename))
File.Delete(filename);
TextWriter tw = new StreamWriter(filename);
xmlSerializer.Serialize(tw, root);
tw.Close();
}
public class RootElement
{
[XmlElement(elementName: "b")]
public B B { get; set; }
}
public abstract class A
{
[XmlElement(elementName: "value", Order = 3)]
public string Value { get; set; }
}
public class B : A
{
[XmlElement(elementName: "value1", Order = 1)]
public string Value1 { get; set; }
[XmlElement(elementName: "value2", Order = 2)]
public string Value2 { get; set; }
}
}
И мой XML Вывод:
<?xml version="1.0" encoding="utf-8"?>
<RootElement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<b>
<value>3</value>
<value1>1</value1>
<value2>2</value2>
</b>
</RootElement>
Есть ли какое-то решение для этого без помещения каждого элемента в класс B? по-видимому, использование свойства «Заказ» не работает ..: S
thx