数组和列表不会在C#中序列化

时间:2011-10-05 23:17:09

标签: c# serialization xmlserializer

我尝试在C#中使用XmlSerializer来通过将调用重定向到执行序列化的透明代理来序列化方法调用。我已经将所有类型的方法参数作为extraTypes添加到序列化程序中。除了特定情况外,一切都有效。

我们在方法参数中有List<TypeA>TypeA[],因此它们应该被添加到序列化程序中。如果我不手动XmlInclude List<TypeA>,则会抛出此异常:

System.InvalidOperationException: The type System.Collections.Generic.List`1[[TypeA, , Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]] may not be used in this context.

然后我添加XmlInclude(typeof(List<TypeA>))并认为它可以解决问题。但是,发生了一件奇怪的事情。它抛出

System.InvalidOperationException: The type TypeA[] may not be used in this context

我编写了测试用例,如果我不添加TypeA[],我确信List<TypeA>有效。

有谁知道导致此问题的原因?谢谢!

0 个答案:

没有答案