2013-03-28 108 views
4

我有一个MDI应用程序,其中一个树形控件停靠在左侧,五个类包含树节点的信息,即该类节点的编辑器。将多个对象序列化为一个二进制文件

  • 我该如何序列化应用程序,使所有的对象都被序列化为一个二进制文件?

  • 如何将资源存储在其中,以便将单个文件发送到所有机器?

谢谢。

回答

7

如果您希望将多个对象序列化为一个文件,只需将它们全部组合到一个对象中即可。

例如,你有很多的对象需要序列化这样的:

Teacher t = new Teacher(); 

Student[] students = new Student[] { ... }; 

Tool blackboard = new Tool(); 

... 

而且所有这些对象应该是可序列化。

您可以创建容器以包含这些对象,并对其进行序列化。

[Serializable] 
class School 
{ 
    Teacher t; 

    Student[] students; 

    Tool blackboard; 
} 

现在,您只需要将学校对象序列化为一个二进制文件。

+0

虽然有两个疑问。 1.容器类中的对象是否需要可序列化的属性? 2.我可以将文件作为字节数组存储在列表中吗? – 2013-03-28 07:25:06

+0

@SriHarshaChilakapati:首先,没有。然而,如果你想处理序列化的每一个细节,你可以考虑实现ISerializable接口。其次,你的意思是你想读一个文件为字节?尝试[FileStream](http://msdn.microsoft.com/en-us/library/system.io.filestream.read.aspx) – 2013-03-28 07:45:00

+0

谢谢。尝试和工作。 – 2013-03-28 07:49:41

相关问题