我有大約50個多態繼承關係的類。我使用XmlSerializer來序列化它們。現在我想要實現IXmlSerializable的幾個類。所以我開始了一個類。這個類不是基類,而是直接從所有多態關係的基類中派生出來的。IXmlSerializable和XmlSerializer一起發佈
執行後,生成的XML包含的標籤僅限於上面使用WriteXML方法編寫的類。沒有其他課程的信息。非常奇怪的行爲!
所以請指導我解決這個問題,以便其他類信息能夠維護。
我有大約50個多態繼承關係的類。我使用XmlSerializer來序列化它們。現在我想要實現IXmlSerializable的幾個類。所以我開始了一個類。這個類不是基類,而是直接從所有多態關係的基類中派生出來的。IXmlSerializable和XmlSerializer一起發佈
執行後,生成的XML包含的標籤僅限於上面使用WriteXML方法編寫的類。沒有其他課程的信息。非常奇怪的行爲!
所以請指導我解決這個問題,以便其他類信息能夠維護。
據我瞭解你正確 - 你的xml包含你隱式添加的屬性(當前類的WriteXML
)?但這是正確的行爲。您應該在接口描述中隱含添加項目,如example。
如果您需要基類的屬性 - 添加它們。如果你需要從這個類繼承的類的屬性 - 嘗試通過反射來獲得它們。 Get Property Names using Reflection。但不是typeof(MyClass)
使用.GetType()
並檢查there如何獲取屬性值。
你的意思是在基類中的信息不爲您的自定義子類自動序列化?或者其他非相關子類不再序列化數據? –
你在尋找其他類的信息? – RredCat
基本類和所有其他類的信息根本沒有序列化。結果XML僅包含用於實現IXmlSerializable的類的標記。 – user1451825