Как игнорировать функцию / метод класса, чтобы можно было сериализовать его на диск для дальнейшего использования?
Я искал и действительно не могу найти ответы. Мне нужен ToString (), потому что я добавляю каждый экземпляр Person в список. ToString () - это то, что отображается в списке. Затем я использую выбранные предметы, чтобы вернуть его обратно для работы с объектом.
x = (Персона) список выбранных элементов.
Если я попытаюсь сериализовать его, как показано ниже, он взорвется.
public class Person
{
public Person()
{
messages = new List<Message>();
}
public string name{ get; set;}
public List<Message> messages{ get; set;}
// How do you ignore this????
// [XMLIgnore] does not work
public override string ToString()
{
return name;
}
}
Вот вызов для его сериализации. Он взрывается, когда я пытаюсь создать объект XmlSearlizer.
Другие классы, у которых нет методов / функций, работают нормально. Нет проблем.
public void serializeToXML<T>(T test)
{
// If object has method or function it blows up here.
XmlSerializer serializer = new XmlSerializer(typeof (T));
// Hardcoded just for a test.
TextWriter textWriter = new StreamWriter(@"C:\test.xml");
serializer.Serialize(textWriter, test);
textWriter.Close();
}