XmlSerializer: как десериализовать значение перечисления, которое больше не существует

Я использую 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. К сожалению, это не ловит эту ошибку.

Любые идеи о том, как отловить и игнорировать эту ошибку (я могу исправить после завершения десериализации).

Митч

Ответы на вопрос(4)

Ваш ответ на вопрос