0
我試圖序列化包含非原始值的字典。我使用常規方法來序列化字典,通過實現IXmlSerializable。在WriteXML方法內部,我將非原始值轉換爲字符串(如何轉換不相關,但該部分正在工作)。在ReadXML中,我將反序列化的值(字符串)轉換回原始類型。將字典值序列化爲字符串
但是,此方法會引發錯誤: InvalidOperationException:要成爲XML可序列化,從IEnumerable繼承的類型必須在其繼承層次結構的所有級別都具有Add(System.Object)實現。
我認爲這是因爲該值不是原始的。但是,它不應該需要序列化爲未序列化(而是轉換爲字符串)。任何想法如何解決這個問題?
應該提到我使用的是泛型,運行時是Mono環境。 類定義看起來像follwing:
public class SerializableRefDictionary<TKey, TValue> : Dictionary<TKey, TValue>, IXmlSerializable where TValue : NonPrimitiveObject
感謝您的想法,但是這並沒有幫助。從完整的錯誤消息我得到它實際上是試圖序列化原始對象類型(這不是原始的)。 –
僅供參考:序列化適用於原始對象(不轉換爲字符串代碼),無需實現添加功能。 –