【发布时间】:2014-01-31 18:17:06
【问题描述】:
我一直在努力使我的应用程序尽可能可配置。
我正在使用 Unity 容器并尝试对所有内容使用接口。
在我的应用程序中的某个时刻,我需要将我的 DTO 序列化为 XML,然后使用 DataAccess 层对该 XML 进行处理。
但是,我有一个想法。为什么它总是 XML?那不应该也是可以在容器中配置的东西吗?序列化类型或类似的东西?
我知道有XmlAttributes 可以使用,但它将序列化与Xml 紧密耦合。我正在考虑使用ISerializable,但我注意到IXmlSerializable 没有实现ISerializable。
那么有谁知道我如何使用接口/基类/抽象类来允许可通过 DI 容器配置的可配置序列化?
【问题讨论】:
-
您是否正在寻找一种与输出格式无关的方式来装饰您的 DTO,以便它们描述序列化属性将具有的名称,而不管它们被序列化为什么? (即也适用于 JSON、二进制等的 XmlAttributes?)
-
@Astrotrain 是的,这就是我基本上想要做的。我希望能够从我的容器中从 XML 更改为 JSON 到二进制等。属性可以吗?
标签: c# .net serialization xml-serialization