0
.protoファイルにEnum Update update
があります。私は反射を使ってそれを保存したいと思います。プロトコルバッファで反射を使用してEnum値を設定する
refl->SetEnum (msg, fd , ??? );
???? - EnumValueDescriptor *にする必要があります(取得する方法がわかりません)
どうすればいいですか?私のようなSのさまざまな可能性をmessage_desc->FindEnumTypeByName(s)->FindValueByNumber(update)
を試してみました
:
UpdateType
UpdateType::CONFIRM
CONFIRM
....
....
設定したい値について何を知っていますか?例えば、 'Descriptor :: FindEnumValueByName'または' EnumDescriptor :: FindValueByName'、 'FindValueByNumber'等 –
私はDescriptor :: FindEnumValueByNameの取得方法を知っています。私は単純なC++のenum値 '' update''を持っていて、それを設定したいのです。 – v78
私は分かりません。あなたはそれを持っているという意味ですか?どのような形になっていますか? 'EnumValueDescriptor *'を返す 'Descriptor :: FindEnumValueByName'を呼び出すことを止めてから、その戻り値を' SetEnum'に渡しますか?私は難しさの性質をよく理解していません。 –