これは私のprotoファイルです:
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
複数の enum を作成して設定し、それを C# で再度読み取ると、動作します...:-(