[英]Skip Dictionary entry if key cannot be deserialized with DataContractSerializer
我目前正在序列化包含如下字典的 class :
[DataMember]
public Dictionary<SomeEnum, SomeData<long>> SomeDictionary = new Dictionary<SomeEnum, SomeData<long>>();
这很好用,但将来我可能想从枚举中删除一个值。 目前,如果我删除枚举值,我将无法再反序列化数据。 如果无法反序列化密钥,如何指示 DataContractSerializer 跳过字典条目?
.Net 类型Enum
支持方法IsDefined()
所以你可以这样做
enum myEnum { ev1, ev3 };
:
:
Console.WriteLine($"{Enum.IsDefined(typeof(myEnum), "ev1")} {Enum.IsDefined(typeof(myEnum), "ev2")}");
给予
True False
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.