Protobuf-net Gendarme错误

时间:2013-05-05 21:39:16

标签: c# protobuf-net gendarme

最近遇到了protobuf-net,很棒的图书馆。

我通过gendarme运行它,它提出了许多性能通知,例如:

  

目标:System.Int32 ProtoBuf.ProtoReader :: ReadFieldHeader()程序集:   protobuf-net,版本= 1.0.0.0,文化=中性,   公钥=空

     

严重性:高可信度:高来源:调试符号   不可用,IL偏移量0x0055详细信息:类型为“System.Int32”   装箱。

如果有人有使用宪兵的经验,这些通知有多重要,我可以通过尝试清理任何 Severity:High 问题来回馈protobuf-net吗?

1 个答案:

答案 0 :(得分:1)

您引用的具体错误来自:

if(fieldNumber < 1) throw new ProtoException(
    "Invalid field in source data: " + fieldNumber);

所以,从技术上讲,这是一个不必要的方框 - 但是,这是一个极端边缘的案例, 值得关注(如果你得到那个例外,你有比盒子更大的问题)。但是,如果它引起你的关注,它可以被修复。

也可能会从反射实现中引发一些其他错误 - 这会产生误导,因为在大多数情况下实际上并未使用(代码同时具有反射模型和元编程模型)。

我的目标是看看下周宪兵所说的内容:update - done - 请注意,大部分内容基本上都是“忙碌的工作” - 它并没有真正改变任何重要的事情,除了让Gendarme感到高兴