Steuerung der Serialisierung von abgeleiteten Typ

Gegeben, ein Typ wie:

public class FooList : List<Foo>
{
    public string SomeMessage { get; set; }
}

Wie bekomme ich die SomeMessage - Eigenschaft serialisiert werden zusammen mit der Sammlung ohne übergeordneten Serialisierung selbst?

Was ich bekommen, ist:

<FooList>
    <Foo />
    <Foo />
    <Foo />
</FooList>

und was ich will, ist:

<FooList>
    <SomeMessage />
    <Foo />
    <Foo />
    <Foo />
</FooList>

Aus welchem Grund auch immer, (ich denke, es ist, weil die Serialisierung verwendet wird, der für die generische Liste nicht sieht, dass die neue Eigenschaft) es ist nicht geschrieben wird.

Falls es eine Rolle spielt, hier ist was ich benutze, um es zu serialisieren.

FooList content = new FooList();
content.SomeMessage="this is a test";
//add foos

using (TextWriter writer = new StreamWriter("C:\\foos.xml"))
{
    XmlSerializer serializer = new XmlSerializer(typeof(FooList));
    serializer.Serialize(writer, content);
}
InformationsquelleAutor | 2010-09-27
Schreibe einen Kommentar