2009-05-04 83 views
3

我想使用DataContractSerializer序列化一個類型,並得到下面的異常。這不是針對SOA服務的,但如果可能的話,我仍然希望使用DataContractSerializer。我正在使用.Net 3.5 SP1。爲什麼我無法使用DataContractSerializer序列化對象?

類型 'System.DelegateSerializationHolder + DelegateEntry' 數據合同名稱 'DelegateSerializationHolder.DelegateEntry:http://schemas.datacontract.org/2004/07/System' 預計不會。將已知靜態的 類型添加到已知的 類型的列表中 - 例如,使用 KnownTypeAttribute屬性或 將它們添加到傳遞給DataContractSerializer的已知類型列表 。

回答

4

你可以發佈你的類定義嗎?

看起來你似乎正在試圖序列化一個類型爲delegate的字段,我敢肯定會使序列化程序窒息。

您是否使用DataContract/DataMember屬性裝飾了您的類?在3.5 SP1中,如果序列化程序沒有使用這些屬性進行標記,則默認情況下會序列化一個類中公開的所有內容。也許你應該明確地標記每個需要使用DataMember屬性進行序列化的屬性,而不應該使用這些屬性。

除此之外,我們需要查看您的班級定義以獲取更多幫助。