C# при десериализации из xml не выдает ошибку если свойств не хватает

Сериализую List объектов

XmlSerializer xmlSerializer = new(typeof(List<Saved>));
StringWriter stringWriter = new();
xmlSerializer.Serialize(stringWriter, sv);
string xml = stringWriter.ToString();
File.WriteAllText(file, xml);

все работает, в файле получается что-то такое

<ArrayOfSaved xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Saved>
    <Name>Name</Name>
    <Value>3</Value>
  </Saved>
</ArrayOfSaved>

но если убрать свойство, вот так например

<ArrayOfSaved xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Saved>
    <Name>Name</Name>
  </Saved>
</ArrayOfSaved>

и попробовать прочитать из файла

using (var reader = new StreamReader(file))
{
    XmlSerializer deserializer = new XmlSerializer(typeof(List<Saved>));
    sv = (List<Saved>)deserializer.Deserialize(reader);
}

то будет прочитано без ошибок, а то чего нет будет заменено на 0

как сделать чтобы была ошибка?


Ответы (0 шт):