Я использую XMLSerializer для сохранения этого класса в файл. Класс имеет строку и перечисление, как показано ниже:
public class IOPoint
{
string Name {get; set;}
TypeEnum {get; set;}
}
public enum TypeEnum
{
Temperature,
Pressure,
Humidity,
}
При сериализации это выглядит так.
<IOPoint>
<Name>Relative Humidity</Name>
<TypeEnum>Humidity</TypeEnum>
</IOPoint>
Я сериализовал и десериализовал этот объект без проблем для нескольких версий. Я больше не хочу поддерживать влажность, поэтому удалил ее из перечисления. Однако это вызывает исключение при десериализации из XML, поскольку значение в поле TypeEnum, Humidity, не является допустимым значением для TypeEnum. Это имеет смысл, но как с этим справиться?
Я бы просто проигнорировал эту ошибку. И оставьте значение равным нулю. Я попытался реализовать класс OnUnknownElement XmlDeserilizationEvent. К сожалению, это не улавливает эту ошибку.
Любые идеи о том, как поймать и проигнорировать эту ошибку (я могу очистить ее после завершения десериализации).
Митч