2016-09-02 74 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的語法。這就是你寫的「擴展行動{....」。 –