C#仅将值序列化为字节流

时间:2011-08-18 08:44:52

标签: c# filestream binary-serialization

是否有可能自动将类的属性序列化为byte []数组或流。

Stream stream = File.Open(@"C:/traiBin.bin", FileMode.Create);
BinaryFormatter bFormatter = new BinaryFormatter();
bFormatter.Serialize(stream, this.rcpt);
stream.Close();

上面的这个例子序列化了整个类,包括名称空间,类名,变量名等。 如果没有自动化解决方案,它将手动完成。

此致 标记

2 个答案:

答案 0 :(得分:0)

我认为你必须:

或者实现你自己的序列化机制(根据你的要求可能不那么难),所以在流中你将有一种标题,用于标识保存的类型和类型数据流后,再次在另一个标题及其类型数据流之后等等...

或者您可以使用类似http://www.codeproject.com/KB/cs/generic_deep_cloning.aspx之类的内容。只是序列化的一个例子,该文章的作者用于深度克隆目的。

答案 1 :(得分:0)

Marc Gravell的protobuf implementation支持归因模型,以及DataContracts - protobuf在数据的最终大小时也非常精简。