我正在寻找一个XML序列化解决方案来序列化一个包含List<T>
的类。阅读它the MSDN article for System.XML.Serialiation
(约5/8页面)
[Serialization of ArrayList and Generic List]
The XmlSerializer cannot serialize or deserialize the following:
Arrays of ArrayList
Arrays of List<T>
这是否意味着我无法序列化我的List<T>
或者说我无法序列化类似
List<int>[] intArr = new List<int>[10];
编辑:为什么不能这样做?
答案 0 :(得分:1)
列表数组将是
List<int>[]
所以,你可以安全地序列化
List<int>
答案 1 :(得分:1)
后者。序列化List<T>
非常常见。
答案 2 :(得分:0)
您可以使用整个班级,也可以只使用列表:
static void SerializeToXml<T>(string file, T value)
{
var serializer = new XmlSerializer(typeof(T));
using (var writer = XmlWriter.Create(file))
serializer.Serialize(writer, value);
}
static T DeserializeFromXml<T>(string file)
{
var serializer = new XmlSerializer(typeof(T));
using (var reader = XmlReader.Create(file))
return (T)serializer.Deserialize(reader);
}