使用.NET 4中的XmlSerializer,我試圖序列化一個包含兩個具有相同名稱但名稱空間不同的類的類。XmlSerializer - 反映類型時發生錯誤。兩個具有相同名稱的類
[XmlInclude(typeof(MyNamespace1.MyClass))]
[XmlInclude(typeof(MyNamespace2.MyClass))]
public class SuperInfo
{
public MyNamespace1.MyClass A{ get; set; }
public MyNamespace2.MyClass B{ get; set; }
}
事實證明,序列化程序無法區分這兩個類具有相同的名稱。例外顯示:
'類型MyNamespace1.MyClass'和'MyNamespace2.MyClass'都使用名稱空間''中的XML類型名稱'MyClass'。使用XML屬性爲類型指定唯一的XML名稱和/或名稱空間。
我找到了解決辦法in this thread,包括裝修中的同名類,像這樣的屬性:
[XmlType("BaseNamespace1.MyClass")]
[XmlType("BaseNamespace2.MyClass")]
,但我不能這樣做,因爲在我的情況下,這些類來自一個自動生成代理到Web服務。
您有解決方案嗎?
你的解決方案的工作原理,但我想使用System.Xml.Serialization dll – javi 2013-05-13 11:34:28