从另一个字段设置协议缓冲区字段

时间:2018-10-05 13:25:29

标签: protocol-buffers

我有这样一条消息:

import "data.proto"

message topMessage {
    optional string foo = 1;

    message nestedMessage {
        required int index = 1;
        required data entry = 2;
    }
    repeated map = 2;
}

我想做的是根据index设置entry本身。每个data消息都有一个用于此目的的int字段。目前,我正在呼叫setEntry(someData)setIndex(someData.getInt())。能够设置entry很好,这样每当我打电话给index时它就会自动设置setEntry()。这可能吗?

1 个答案:

答案 0 :(得分:0)

您没有指定使用该语言的语言。也没有足够的信息来重现您的问题。话虽如此,一般来说,不能,您的.proto文件中不能指定。您可能可以覆盖代码中的内容,以便调用诸如setFullEntry(someData)之类的方法,并且该方法同时调用setEntrysetIndex,但这取决于您使用的语言。实际逻辑。