[英]Extension to serialize read-only properties
我正在編寫一個簡單的擴展,該擴展允許序列化多維數組。 在內部,我將XmlSerializer
用於數組項,但不適用於只讀屬性。 因此,如何使用XmlSerializer
(或其他類似DataContractSerializer
類)將它們序列化為XML,而無需修改類以使其具有這些屬性。 我的意思是,我有方法Serialize<T>(T obj)
並且可以將其序列化為任何T
,甚至具有只讀屬性的結構如KeyValuePair<T,U>
。
使用XmlSerializer
或DataContractSerializer
不可能。
使用DataContractSerializer
,您可以序列化/反序列化private
甚至readonly
字段/屬性,但是要序列化的每個字段/屬性都需要用DataMember
屬性標記,因此不能用於任意類型,例如KeyValuePair<K,V>
。
除了使用XML API(例如,Linq2Xml等)和反射來手動完成操作之外 ,您還可以查看Sharpserializer ,它看起來確實可以完成您要完成的任務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.