【发布时间】:2012-07-07 12:35:07
【问题描述】:
XmlSerializer.Serialize method 的文档说明如下:
XmlSerializer无法序列化以下内容:ArrayList的数组和List<T>的数组。
但是,如果我尝试使用以下代码,它会起作用(我使用的是 List<int> 和 ArrayList)。那么,这是一个文档缺陷吗? .NET 4.5 中的一个新功能还没有成为文档的方式?
我曾怀疑这可能是一条简短消息,说明您如何无法序列化 List<T>,除非您有 all the types in object graph,但这对于只有 object 的 ArrayList 没有意义。
private static string Serialise<T>(T o)
{
var serializer = new XmlSerializer(typeof(T));
var memoryStream = new MemoryStream();
serializer.Serialize(memoryStream, o);
memoryStream.Position = 0;
using (var reader = new StreamReader(memoryStream))
{
return reader.ReadToEnd();
}
}
【问题讨论】:
-
贴出所涉及类的相关部分。现在还不清楚你在说什么。
标签: c# .net serialization xmlserializer