.net XmlSerializer, ignorieren Sie die Eigenschaften der Basisklasse

Nehmen wir an, wir haben eine abgeleitete Klasse "SerializableLabel" von der Basisklasse "System.Windows.Controls".

[XmlRoot("SerializableLabel")]
public class SerializableLabel : Label
{
    public string foo = "bar";
}

Ich möchte diese Klasse serialisieren, aber ALLE Eigenschaften in der übergeordneten Klasse ignorieren. Im Idealfall würde die XML so aussehen:

<SerializableLable>
    <foo>bar</foo>
</SerializableLable>

Wie wird das am besten erreicht?

Mein erster Versuch verwendete den typischen XmlSerializer-Ansatz:

XmlSerializer s = new XmlSerializer(typeof(SerializableLabel));
TextWriter w = new StreamWriter("test.xml");
s.Serialize(w, lbl);
w.Close();

Dies löst jedoch eine Ausnahme aus, da das Serialisierungsprogramm versucht, eine Basisklasseneigenschaft zu serialisieren, bei der es sich um eine Schnittstelle handelt (ICommand-Befehl).

Antworten auf die Frage(4)

Ihre Antwort auf die Frage