gpt4 book ai didi

c# - 反序列化时忽略过时的字段

转载 作者:行者123 更新时间:2023-11-30 18:28:22 26 4
gpt4 key购买 nike

我整天都在寻找一种方法来实现这一点,但没有结果......

我正在尝试反序列化一个对象。当我序列化它时,我有一个名为(比方说)obsoleteBool 的 bool 值。在新版本的类中,我删除了这个 bool,现在反序列化时出现错误(未找到字段“obsoleteBool”)。

在类的新旧版本之间添加新字段非常容易。即使不使用 [OptionalField] 属性...但我如何管理类的旧版本和新版本之间字段的删除?

最佳答案

有 3 种可能的解决方案:

  • 最简单的:将旧字段添加到类的新版本
  • 自定义代码:实现自定义反序列化器
  • 额外工作:编写一个转换程序遍历所有序列化类,使用旧格式读取它们并使用新类定义重新序列化它们。

就商业值(value)而言,第一种选择可能更可取。

关于c# - 反序列化时忽略过时的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25108395/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com