【发布时间】:2015-11-06 04:23:02
【问题描述】:
假设我有这个示例类:
public class MyClass
{
public List<int> ListTest { get; set; }
public string StringTest { get; set; }
public int IntTest { get; set; }
}
还有这段代码:
string xmlStr = "<MyClass><StringTest>String</StringTest></MyClass>";
XElement xml = XElement.Parse(xmlStr);
XmlSerializer ser = new XmlSerializer(typeof(MyClass));
using (XmlReader reader = xml.CreateReader())
{
var res = ser.Deserialize(reader);
}
反序列化完成后,res 的值为:ListTest -> Count = 0 (NOT null) 的空列表。StringTest ->符合预期的“字符串”IntTest -> 符合预期的 0(整数的默认值)。
我希望序列化程序与 List 的行为相同(default(List<T>) 为空),而不是实例化它们。
我怎样才能完成这样的事情?
顺便说一句,我必须使用XmlSerializer。
【问题讨论】:
标签: c# deserialization xmlserializer