Как сериализовать "Тип"?
Я хочу сериализовать в 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]? Возможно ли это?