2016-09-02 34 views
0
message Action { 

    int32 protocol_version = 1; 
    int64 uid = 2; 
    int64 object_uid = 3; 
    ServiceType service_type = 4; 
    int32 left_messages = 5; 
} 

message SendTo { 
    extend Action { 
     SendTo action = 1010; 
    } 
} 

如果我试图像上面它给错误 service_actions.proto创建消息:10:25:“com.sys.test.protocol.Action”不声明1010作为一个分机号码。proto3嵌套消息创建错误

任何建议如何创建此类消息。

回答

-1

我想你忘了给root消息添加“extenssions”。如下所示。

message Action { 
    int32 protocol_version = 1; 
    int64 uid = 2; 
    int64 object_uid = 3; 
    ServiceType service_type = 4; 
    int32 left_messages = 5; 

    extensions 6 to max; 
} 
+0

像上面提到的扩展名在proto3版本中不被支持。 – Sachin

+1

从protobuf的站点:如果您已经熟悉proto2语法,则Any类型将替换扩展名。 据我了解手册,他们将不赞成扩展。但是现在您可以使用proto2的语法。这就是你写的“扩展行动{....”。 –