【问题标题】:How to determine protobuf version of Protobuf object?如何确定 Protobuf 对象的 protobuf 版本?
【发布时间】:2017-09-20 07:58:45
【问题描述】:

我的项目假定 Proto3 对象作为输入。 但是,有时用户会提供 Proto2 Object 作为输入。在这些情况下,我们希望抛出异常,因为我们的代码仅适用于 Proto3 类。

我们如何检查输入的 Protobuf 对象是 Proto2 还是 Proto3 ?

检查方法是否存在或默认值是一种技巧。 是否有任何适当的方法来检查 Protobuf 对象的版本?

【问题讨论】:

    标签: protocol-buffers protobuf-net


    【解决方案1】:

    需要在 .proto 文件中定义您的协议格式。 .proto 文件以

    开头
     syntax = "proto3";
    

    【讨论】:

      【解决方案2】:

      我找到了答案:

      proto_verison = protobufObject.getDescriptorForType().getFile().getSyntax().name()
      

      检查它是否是“PROTO3”

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-24
        • 1970-01-01
        相关资源
        最近更新 更多