相关疑难解决方法(0)

不可变性和XML序列化

一旦设置了初始值,我就有几个不可变的类.Eric Lippert称之为一次性写入不可变性.

在C#中实现一次写入不变性通常意味着通过构造函数设置初始值.这些值初始化只读字段.

但是,如果需要使用XmlSerializer或DataContractSerializer将类似这样的类序列化为XML,则必须具有无参数构造函数.

有没有人建议如何解决这个问题?是否有其他形式的不变性可以更好地与序列化?

编辑:正如@Todd所指出的,DataContractSerializer不需要无参数构造函数.根据MSDN上的DataContractSerializer文档,DataContractSerializer"不会调用目标对象的构造函数."

c# xml-serialization immutability

31
推荐指数
3
解决办法
4727
查看次数

标签 统计

c# ×1

immutability ×1

xml-serialization ×1