XmlInclude: Liste und Array

Ich habe ein Objekt mit Variablen alsobject, und ich möchte es in XML serialisieren.

Dazu habe ich einige @ hinzugefüXmlInclude Attribute, um alle Typen zu verwalten, die verwendet werden können.

[Serializable]
[XmlInclude(typeof(short[]))]
[XmlInclude(typeof(ushort[]))]
[XmlInclude(typeof(int[]))]
[XmlInclude(typeof(uint[]))]
[XmlInclude(typeof(ulong[]))]
[XmlInclude(typeof(long[]))]
[XmlInclude(typeof(byte[]))]
[XmlInclude(typeof(decimal[]))]
[XmlInclude(typeof(float[]))]
[XmlInclude(typeof(double[]))]
[XmlInclude(typeof(string[]))]
[XmlInclude(typeof(List<short>))]
[XmlInclude(typeof(List<ushort>))]
[XmlInclude(typeof(List<int>))]
[XmlInclude(typeof(List<uint>))]
[XmlInclude(typeof(List<long>))]
[XmlInclude(typeof(List<ulong>))]
[XmlInclude(typeof(List<byte>))]
[XmlInclude(typeof(List<decimal>))]
[XmlInclude(typeof(List<float>))]
[XmlInclude(typeof(List<double>))]
[XmlInclude(typeof(List<string>))]
[XmlInclude(typeof(MyObject))]
[XmlInclude(typeof(TimeSpan))]
[XmlInclude(typeof(OtherObject))]
[XmlInclude(typeof(MySubObject1))]
[XmlInclude(typeof(MySubObject2))]
[XmlRoot(ElementName = "mc")]
public class MyClass: IComparable
{
    [XmlElement("fm")]
    public object FirstMember;

    [XmlElement("sm")]
    public object SecondMember;

    [XmlElement("tm")]
    public object ThirdMember;
}
Mein Problem ist, dass Array- und Listendeklarationen nicht gleichzeitig existieren.

Und seltsame Sache, wenn die Array-Attribute zuerst platziert werden, werden die Array-Mitglieder korrekt serialisiert, aber nicht die Listen-Mitglieder. Und umgekehrt

Die benutzerdefinierten und abgeleiteten Klassen funktionieren einwandfrei, aberList undArray nicht. Ich kann nur Beispiele mit Klassen finden, aber ich verwende primitive Typen.

Hat jemand eine Idee?

P.S .: Ich weiß, dass mein Beitrag dem von @ ähnlich isdiese, aber es hat keine Antwort seit 2011.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage