我正在使用 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>
我一直在序列化和反序列化这个对象,几个版本都没有问题。我不再想支持 Humidity,所以我将它从枚举中删除。但是,当从 XML 反序列化时,这会导致异常,因为 TypeEnum 字段中的值 Humidity 不是 TypeEnum 的有效值。这是有道理的,但是如何处理呢?
我想做的就是忽略这个错误。并将值保留为空。我已经尝试实现 OnUnknownElement XmlDeserilizationEvent 类。不幸的是,这并没有捕捉到这个错误。
关于如何捕获和忽略此错误的任何想法(我可以在反序列化完成后进行清理)。
米奇