簡體   English   中英

擴展序列化只讀屬性

[英]Extension to serialize read-only properties

我正在編寫一個簡單的擴展,該擴展允許序列化多維數組。 在內部,我將XmlSerializer用於數組項,但不適用於只讀屬性。 因此,如何使用XmlSerializer (或其他類似DataContractSerializer類)將它們序列化為XML,而無需修改類以使其具有這些屬性。 我的意思是,我有方法Serialize<T>(T obj)並且可以將其序列化為任何T ,甚至具有只讀屬性的結構如KeyValuePair<T,U>

使用XmlSerializerDataContractSerializer不可能。

使用DataContractSerializer ,您可以序列化/反序列化private甚至readonly字段/屬性,但是要序列化的每個字段/屬性都需要用DataMember屬性標記,因此不能用於任意類型,例如KeyValuePair<K,V>

除了使用XML API(例如,Linq2Xml等)和反射來手動完成操作之外 ,您還可以查看Sharpserializer ,它看起來確實可以完成您要完成的任務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM