我正在爲暴露抽象基類類型的應用程序編寫一個插件,並且我的類應該從中派生出來。 當它將我的實例化類存儲起來供以後檢索時,應用程序使用其XML序列化器對該類進行序列化,而不暴露序列化程序給我。XML-對派生類進行序列化,而無需訪問基類或序列化器實例?
顯然,當它試圖序列化我的課,XML序列化器拋出一個System.InvalidOperationException
例外,與消息
「之類YourDerivedType預計不會。使用 的XmlInclude或SoapInclude 屬性指定 靜態未知的類型。「
由於我沒有訪問的基類,我不能與XmlInclude
屬性修飾它,因爲應用程序使用它自己的序列,我不能使用new XmlSerializer
,通過我的派生類型給它的構造,然後使用這個XmlSerializer進行序列化。
關於如何(或是否!)的任何建議我可以讓我的課程序列化並使此例外消失?
這聽起來確實比聽起來要難。您插入的應用程序是否沒有提供準則?如果他們專門爲插件設計了這個架構,那麼它應該是直截了當的,或者他們已經搞砸了。如果它是一個既定的應用程序,那麼大概不是後者。你可以參考的任何例子來看看你是否接近錯誤? – Rory 2011-01-23 23:19:59
我同意羅裏,它比理想的情況更令人費解。我已經聯繫了應用程序的產品團隊,以獲得有關我們如何才能使其工作的任何建議。 – Satyajit 2011-01-24 07:16:54