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

前端之家收集整理的这篇文章主要介绍了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))],但实现类是未知的!

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

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

猜你在找的C#相关文章