这是我的原型文件:
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(这是一个必需的
)
删除组合-确实可以解决它
但我需要指定组合
问题
我该怎么解决?
注:
奇怪的是,如果我创建一个msg
并设置多个枚举,然后再在C#中读取它,它就可以正常工作... :-(