2014-02-11 46 views
0

我是協議緩衝區的新手。我想知道如何將一個協議緩衝區消息的字段嵌套爲另一個協議緩衝區消息中的字段。我可以這樣做嗎?一個協議字段緩衝區作爲另一個協議緩衝區字段的消息

例如,如果我有一個名爲Employee的協議緩衝區消息,其employeeId作爲字段, 我想在另一個協議消息中使用employeeId作爲字段,稱Manager。我如何在經理消息中將員工消息的employeeId字段設置爲字段?

非常感謝您的幫助。

回答

0

Protocol Buffers Language Guide顯示如何在下嵌套類型如何正確理解問題。

我本來以爲你的意思是這樣的:

message Employee { 
    optional string employeeId = 1; 
} 

message Manager { 
    optional string employeeId = 1; 
} 

但我不知道你的意思更多的東西是這樣的:

message EmpId { 
    optional string id = 1; 
} 

message Employee { 
    optional EmpId employeeId = 1; 
} 

message Manager { 
    optional EmpId employeeId = 1; 
} 
0

非常感謝你爲你解答。我的意思是更像你的第二個代碼片段。如果EmpId有多個字段,例如message EmpId { required string id = 1; required string name = 2; },我在Manager中訪問EmpId.id的方式是相同的?我的意思是,我可以將Manager定義爲message Manager { required EmpId employeeId = 1; required string managerId = 2; }這是正確的嗎?

+0

讓我更加清楚。我試圖在另一個消息中只將一個消息的字段作爲字段。我不想在另一條消息中將另一個字段作爲整個消息。希望,這澄清了我的問題。 – user3295475