这是我的原型文件:
message MSG {
required MsgCodes MsgCode = 1;
optional int64 Serial = 2; // Unique ID number for this person.
required int32 From = 3;
required int32 To = 4;
//bla bla...
enum MsgCodes
{
MSG = 1;
FILE = 2;
APPROVE=4;
ACK=8;
ERROR_SENDING=16;
WORLD=32;
}
}
在我的 C# 中,我试图:
msg = msg.ToBuilder().SetMsgCode(msg.MsgCode | MSG.Types.MsgCodes.ACK | MSG.Types.MsgCodes.APPROVE).Build();
SendToJava(msg);
但是 JAVA 告诉我:缺少 MsgCode(这是一个required
)
删除组合 -确实解决了
但我需要指定组合
问题
我该如何解决?
注意:
奇怪的是,如果我创建一个msg
并设置多个 enums ,然后再次在 C# 中读取它 - 它确实有效......:-(