.net XmlSerializer, ignoruje właściwości klasy bazowej

Powiedzmy, że mamy klasę pochodną „SerializableLabel” z klasy bazowej „System.Windows.Controls.

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

Chciałbym serializować tę klasę, ale zignorować WSZYSTKIE właściwości w klasie nadrzędnej. Idealnie byłoby, gdyby xml wyglądał następująco:

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

Jak najlepiej to osiągnąć?

Moja pierwsza próba wykorzystała typowe podejście XmlSerializer:

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

Wywołuje to jednak wyjątek, ponieważ serializator próbuje serializować właściwość klasy bazowej, która jest interfejsem (Komenda ICommand).

questionAnswers(4)

yourAnswerToTheQuestion