0

我有一个使用 CArchive 将对象结构序列化为文件的现有应用程序。我想知道是否可以用一些自定义类替换 CArchive 的使用,以便以与序列化相同的方式写入数据库。在我开始弄清楚这是否可行之前,我想知道其他人是否也这样做过——解决这个问题的最佳方法是什么?我希望能够为 CArchive 的使用创建一个替代品,以便现有的对象结构可以简单地读取/写入数据库而不是序列化文件。是否像为每个类覆盖 Serialize 方法一样简单?

4

1 回答 1

0

简短的回答:忘记它。

更长的答案:

CArchive 没有单个虚拟成员。即使它的析构函数也不是虚拟的,这意味着您不应该从该类派生(C# 程序员说sealed)。

我只能想到一种可能性来自定义 CArchive 的工作(并且无需重写 CDocument 中的整个序列化代码):通过将指向 CFile 派生类的指针传递给 CArchive 对象来构造您的对象,该派生类将为您处理数据连接。

从那时起,您如何通过简单地覆盖 CFile 的 Read() 和 Write() 来控制数据库超出了我的想象:-(

于 2008-11-10T21:41:04.573 回答