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



我有这样的消息:

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以便每当我打电话时它都会自动设置indexsetEntry(),那就太好了。 这可能吗?

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

最新更新