.net XmlSerializer, игнорировать свойства базового класса
Допустим, у нас есть производный класс «SerializableLabel» из базового класса "System.Windows.Controls.
[XmlRoot("SerializableLabel")]
public class SerializableLabel : Label
{
public string foo = "bar";
}
Я хотел бы сериализовать этот класс, но игнорировать ВСЕ свойства в родительском классе. В идеале XML должен выглядеть примерно так:
<SerializableLable>
<foo>bar</foo>
</SerializableLable>
How is this best achieved?
Моя первая попытка использовала типичный подход XmlSerializer:
XmlSerializer s = new XmlSerializer(typeof(SerializableLabel));
TextWriter w = new StreamWriter("test.xml");
s.Serialize(w, lbl);
w.Close();
Но это вызывает исключение, потому что сериализатор пытается сериализовать свойство базового класса, которое является интерфейсом (ICommand Command).