如何在不使用二进制格式化程序的情况下将对象写入流
本文关键字:情况下 对象 程序 格式化 二进制 | 更新日期: 2023-09-27 17:55:41
我使用 BinaryWriter 将我的项目写入流。如何在没有二进制格式化程序的情况下将对象写入流并返回?
简单地说,你需要(其中之一):
- 编写代码
- ,对每个成员使用(读取器/)编写器 API 依次(反)序列化每个字段/属性
- 编写在编译时自动执行第一个选项的代码,生成 C#
- 编写在运行时自动执行第一个选项的代码,生成 IL(或它编译的 C#)
考虑嵌套对象、null、引用跟踪、集合、列表、序列化回调、字符串值与引用相等、转换运算符、自定义迭代器、代理项、序列化上下文、IO 缓冲等。
或者,使用已存在的许多二进制序列化程序之一。作为作者,我有很大的偏见,但我会使用protobuf-net。
我有偏见的答案是 http://binaryserializer.codeplex.com。
它允许您定义绑定以控制数据的确切格式。