XmlSerializer игнорирует атрибуты класса. Я пишу простой сериализатор, и я использовал атрибуты [Serializable]
и [NonSerialized]
, также я попытался использовать [XmlRoot]
и [XmlIgnore]
. И я заметил, хотя поле имеет атрибут [NonSerialized]
, он сериализуется.XmlSerializer игнорирует атрибуты
И также игнорирует другие атрибуты, такие как [XmAtribute]
. Затем я заметил, что даже нет необходимости использовать какие-либо атрибуты, и я могу сериализовать класс без этих атрибутов, как я могу игнорировать некоторые поля?
Мой класс:
[Serializable]
public class Route
{
int busNumber;
string busType, destination;
DateTime departure, arrival;
[NonSerialized]DateTime creationDate;
...
}
И я пытаюсь сериализации List<Route>
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
Stream stream = File.OpenWrite(Environment.CurrentDirectory + "\\routes.xml");
XmlSerializer xmlSer = new XmlSerializer(typeof(List<Route>));
xmlSer.Serialize(stream, ((FileForm)ActiveMdiChild).routes);
stream.Close();
}
Проверить это просто .Net Fiddle: https://dotnetfiddle.net/ljPoyJ – Piou