c# – 序列化和恢复未知类

一个基础项目包含一个抽象的基类Foo.在单独的客户端项目中,有实现基类的类.

我想通过在基类上调用一些方法来序列化和还原一个具体类的实例:

// In the base project:
public abstract class Foo
{
    abstract void Save (string path);
    abstract Foo Load (string path);
}

可以假设在反序列化时,存在所有需要的类.如果可能以任何方式,序列化应该以XML完成.使基类实现IXmlSerializable是可行的.

我有点呆在这里如果我对事物的理解是正确的,那么这只能通过在每个实现类的基类中添加一个[XmlInclude(type(UnkNownClass))],但实现类是未知的!

有没有办法做到这一点?我没有反思的经验,但我也欢迎使用它的答案.

编辑:问题是反序列化.只是序列化会很简单.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...