【发布时间】:2016-01-04 20:00:47
【问题描述】:
我想从我的枚举中删除一个枚举值。但是在反序列化 JSON 时,如果找到删除的枚举值,那么它应该选择我选择的枚举值,而不是默认为 None,这是我的枚举中的第一个值,以实现向后兼容性。
例子:
public enum ExampleHotkeyType
{
None,
CaptureRegion,
CaptureRegionWindow,
CaptureRegionPolygon,
CaptureRegionFreehand
}
我想删除此枚举中的CaptureRegionWindow,并且在反序列化时如果发现CaptureRegionWindow 我希望将其分配给CaptureRegion。这样它就不会默认为None。
我搜索了也许我可以将 CaptureRegion 枚举值设置为具有多个名称作为属性但找不到这样的东西。
处理此问题的最佳方法是什么,以便我的用户设置不会重置?
注意:我在序列化/反序列化时使用 StringEnumConverter。
【问题讨论】: