.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).