.net XmlSerializer, ignora propriedades de classe base
Vamos dizer que temos uma classe "SerializableLabel" da classe base "System.Windows.Controls".
[XmlRoot("SerializableLabel")]
public class SerializableLabel : Label
{
public string foo = "bar";
}
Eu gostaria de serializar esta classe, mas ignorar todas as propriedades na classe pai. Idealmente, o xml seria algo como:
<SerializableLable>
<foo>bar</foo>
</SerializableLable>
Como isso é melhor alcançado?
Minha primeira tentativa usou a abordagem típica do XmlSerializer:
XmlSerializer s = new XmlSerializer(typeof(SerializableLabel));
TextWriter w = new StreamWriter("test.xml");
s.Serialize(w, lbl);
w.Close();
Mas isso gera uma exceção porque o serializador tenta serializar uma propriedade de classe base que é uma interface (comando ICommand).