【发布时间】:2014-04-22 07:13:40
【问题描述】:
如何创建可以采用类对象或任何派生类的反序列化方法?
public class Config
{
public string appname;
}
public class CustomConfig1 : Config
{
public string CustomConfig1Param1;
public string CustomConfig1Param2;
}
public class CustomConfig2 : Config
{
public string CustomConfig2Param1;
public string CustomConfig2Param2;
}
我想得到类似定义输入对象类型的序列化方法:
public string serialize(object obj)
{
XmlSerializer serializer = new XmlSerializer(obj.GetType());
StringWriter serialized = new StringWriter();
serializer.Serialize(serialized, obj);
return serialized.ToString();
}
但是当我从 DB 中读取 XML 时,我无法定义对象的类型,所以我无法将它传递给 XmlSerializer。它可能是 Config 对象或任何派生类
请帮忙。如何定义输入对象的类型?
【问题讨论】:
-
小观察:公开公共字段是不好的做法
标签: c# .net serialization