【发布时间】:2019-01-06 22:36:17
【问题描述】:
我通常将我的结构设为只读。但是,序列化库(例如DataContractSerializer)期望序列化的字段或属性是读/写的。
所以我认为我的选择是:
- 让我的字段可写只是为了安抚序列化程序
- 为序列化目的创建代理对象
- 使用反射自动生成代理
- 通过尝试猜测一个自动生成序列化/反序列化函数 使用启发式或属性的适当构造函数。
在这种情况下,人们通常会做什么?
【问题讨论】:
-
你使用
DataContractSerializer而不是JSON.NET有什么特殊原因吗? -
@mjwills JSON.NET 可以反序列化成不可变结构吗?
-
@MattArnold 看起来像 - github.com/JamesNK/Newtonsoft.Json/issues/1218。
标签: c# serialization attributes readonly