一个基础项目包含一个抽象的基类Foo.在单独的客户端项目中,有实现基类的类.
我想通过在基类上调用一些方法来序列化和还原一个具体类的实例:
// In the base project: public abstract class Foo { abstract void Save (string path); abstract Foo Load (string path); }
可以假设在反序列化时,存在所有需要的类.如果可能以任何方式,序列化应该以XML完成.使基类实现IXmlSerializable是可行的.
我有点呆在这里如果我对事物的理解是正确的,那么这只能通过在每个实现类的基类中添加一个[XmlInclude(type(UnknownClass))],但实现类是未知的!
有没有办法做到这一点?我没有反思的经验,但我也欢迎使用它的答案.
编辑:问题是反序列化.只是序列化会很简单.