私はC++での私の仲間のプログラマは型の安全性を気にし、通常の整数としてflags
フィールドを処理していない、次の.protoファイル(別のプロジェクトによって与えられた)protobuf-netでカスタムオプションをサポートするには?
enum RGBFlags { FLAG_RED = 1; FLAG_GREEN = 2; FLAG_BLUE = 4; }
message SomeMessage {
// Values from RGBFlags only allowed
optional int32 flags = 2;
}
を解析するprotobuf-netとProtoGen.exe
を使用しています。私は私が必要な `[フラグ]」注釈を生成するProtoGet
のXSLT transformをプロトコードを修正するprotbuf custom optionsを使用して修正することができると考え
SomeMessage foo = new SomeMessage();
foo.flags = (int)RGBFlags.FLAG_BLUE | (int)RGBFlags.FLAG_GREEN;
:私はもっと厳しいことや、そのようなコードを避けるために試してみたかったです。
extend google.protobuf.EnumOptions {
optional bool generate_bit_field = 60000;
}
enum RGBFlags {
option (generate_bit_field) = true;
FLAG_RED = 1; FLAG_GREEN = 2; FLAG_BLUE = 4;
}
message SomeMessage {
// Values from RGBFlags only allowed
optional int32 flags = 2;
}
問題は、すべてのカスタムオプションがProtoGen
に一時ファイルにuninterpreted_option
として表示されていることです。
私のコードで[Flags]
注釈を取得するにはどうすればよいですか?