我正在使用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类。不幸的是,这并不能捕获此错误。
有没有关于如何捕获和忽略此错误的想法(我可以在反序列化完成后清理)。
米奇