【发布时间】:2010-09-22 09:30:30
【问题描述】:
如何序列化“类型”?
我想将具有属于对象类型的属性的对象序列化为 XML。这个想法是,当它被反序列化时,我可以创建该类型的对象。
public class NewObject
{
}
[XmlRoot]
public class XmlData
{
private Type t;
public Type T
{
get { return t; }
set { t = value; }
}
}
static void Main(string[] args)
{
XmlData data = new XmlData();
data.T = typeof(NewObject);
try
{
XmlSerializer serializer = new XmlSerializer(typeof(XmlData));
try
{
using (FileStream fs = new FileStream("test.xml", FileMode.Create))
{
serializer.Serialize(fs, data);
}
}
catch (Exception ex)
{
}
}
catch (Exception ex)
{
}
}
我得到了这个例外: “ConsoleApplication1.NewObject 类型不是预期的。使用 XmlInclude 或 SoapInclude 属性来指定静态未知的类型。”
我应该把 [XmlInclude] 放在哪里?这甚至可能吗?
【问题讨论】:
标签: c# xml serialization