XmlSerializer.Serialize 方法的文档说明如下:
XmlSerializer
不能序列化以下内容:数组和ArrayList
数组List<T>
。
但是,如果我尝试使用以下代码,它可以工作(我使用List<int>
and ArrayList
)。那么这是一个文档缺陷吗? .NET 4.5 中的一个新功能还没有成为文档的方式?
List<T>
我曾怀疑这可能是一条简短消息,说明除非您拥有对象图中的所有类型,否则您无法序列化 a ,但这对于 ArrayList 来说没有意义,因为它只是object
.
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();
}
}