2013-07-30 34 views
1

我正在尝试在C#中读取实际使用CArchive写入的二进制文件。我已经完成了大部分的工作,但仍然坚持阅读一个对象。而不是写bool,int,double对象已经写成二进制。C#中的MFC对象序列化#

http://msdn.microsoft.com/en-us/library/3bfsbt0t(v=vs.110).aspx 

所以原来的代码是这样的。

MyClass myObject; 
if (archive.IsStoring() 
    archive << myObject; 
else 
    archive >> myOjbect; 

所以问题是如何在C#中翻译这段代码。

void Read(BinaryReader reader) 
{ 
    // Read MyClass object here. 
} 

回答

0

你需要创建一个可比的C#对象(您可能需要使用C++/CLI),并从文件构建它。

如果您指定了什么myObject,这将有所帮助。

+0

我没有得到它。你能详细说明吗? –

+0

我已经尝试了一些更多的调试,当写入对象Serialize方法被调用,它写入int,双打它。但是在阅读时并不按顺序阅读。我跳过了一些字节,然后尝试阅读,并且工作。看起来像存档>> myObject写了额外的东西(我想是类名)。 –