0
我使用的是DataContractSerializer,迄今爲止它提供了我需要的一切。 現在我需要兩個更多的功能,並且我已經知道它們不適用於DataContractSerializer。使用什麼序列化程序?
- 我需要能夠序列化的一些字段作爲XmlComments
- 一些成員應直接序列化爲在包含對象的XML屬性。
XmlSerializer既不支持opt-in,也不支持我需要的fields/privates,所以很不幸,這是不可能的。
可以以某種方式使我自己的序列化器尊重現有的「XmlAttribute」 - 屬性和我的自定義「XmlComment」 - 屬性,同時使用DataContractSerializer作爲基礎?
也許已經有一個第三方序列化器提供我所需要的?我沒有找到一個。
我不介意編寫自定義序列化程序,但我想盡可能多地重複使用現有的代碼。
「XmlSerializer既不支持選擇,也不支持字段/私人」 - >爲什麼你不能公開字段/私人作爲公共屬性? – loopedcode
我在這一個環狀碼。您應該創建一個完全獨立的數據模型對象,其唯一目的是_data_的序列化/反序列化。將該數據模型單獨轉換爲您的業務對象或從其中轉換出來。您的業務對象可以以這種方式維護其私有字段/實現,並且您的數據模型對象可以專注於公共屬性或各種XML屬性裝飾以滿足您所需的架構。 –
@ChrisSinclair他不想XML的評論,儘管...即使DTOs只是爲了序列化而設計,這將需要一些自定義的序列化。 – Yaur