protobuf.net 处理 Nullable<DateTimeOffset>

Posted

技术标签:

【中文标题】protobuf.net 处理 Nullable<DateTimeOffset>【英文标题】:protobuf.net Handling of Nullable<DateTimeOffset> 【发布时间】:2012-07-11 06:07:50 【问题描述】:

如何使用 protobuf.net 序列化 Nullable 类型? 这篇文章试图解释一些方法:Can I serialize arbitrary types with protobuf-net?

问题在于,与 Nullable 相关的代理方法似乎存在一个错误,链接的帖子中也提到了这一点。 shim 属性方法不适合我们,主要是因为我们有很多这种类型的属性。

我们非常热衷于依靠 protobuf.net 进行序列化,因为它符合我们对紧凑和快速序列化的需求,但由于这个问题,这很困难。

【问题讨论】:

【参考方案1】:

一张图说一千个字……

【讨论】:

嗯,这很快!谢谢你。我尝试使用:svn checkout protobuf-net.googlecode.com/svn/trunkprotobuf-net-read-only 查看源代码。但是收到一条错误消息,说无法连接到 URL 上的存储库.....有什么想法吗? 您是否可以提供构建并使其在项目站点的下载页面上可用?我试图检查代码,但由于不存在很多依赖项而无法构建。 @hjalet 您唯一需要构建的是 .sln 中“Core”下的“protobuf-net”项目;你想在我得到一个干净的后备箱克隆之前尝试建造那个吗? (我的工作文件夹发生了变化,虽然它应该是稳定的,但我并没有真正处于合乎逻辑的“发布”点,除非人们需要特定的功能) 好的。我在那个项目中有一个编译器错误,因为它不允许隐式类型变量。在我将 CompilerContext.cs 中的第 559 行从 'using (var loc = GetLocalWithValue(type, valueFrom))' 更改为 'using (Local loc = GetLocalWithValue(type, valueFrom ))'它编译。谢谢。 @hjalet 你落后了几个版本,然后;p 很抱歉,但这已经修复了

以上是关于protobuf.net 处理 Nullable<DateTimeOffset>的主要内容,如果未能解决你的问题,请参考以下文章

将变量添加到序列化缓冲区而不使用 protobuf.net 对其进行序列化

Protobuf.net 内存使用情况

Protobuf.net 异常 - 检查元数据时超时

ProtoBuf.Net - 使用 Proto 作为 TypeFormatter

protobuf.net 和条件序列化

列表的 Protobuf.net 对象图序列化