Как мне сериализовать 'Type'?
Я хочу сериализовать в 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]? Это вообще возможно?