如何在不使用BinaryFormatter的情况下将对象写入流?

时间:2014-04-01 11:58:39

标签: c#

我使用BinaryWriter将我的项目写入流。如何在没有BinaryFormatter的情况下将对象写入Stream并返回?

2 个答案:

答案 0 :(得分:1)

简单地说,你需要(其中之一):

  • 编写代码(de)依次序列化每个字段/属性,在每个成员上使用(reader /)writer API
  • 在编译时编写自动化第一个选项的代码,生成C#
  • 在运行时编写自动化第一个选项的代码,生成IL(或编译的C#)

考虑嵌套对象,空值,引用跟踪,集合,列表,序列化回调,字符串值与引用相等,转换运算符,自定义迭代器,代理,序列化上下文,IO缓冲等。

或者,使用已存在的许多二进制序列化程序之一。我作为作者非常偏颇,但我使用的是protobuf-net。

答案 1 :(得分:0)

我的偏见是http://binaryserializer.codeplex.com

它允许您定义绑定以控制数据的确切格式。