I use protobuf-net and ProtoGen.exe to parse following .proto file (given by another project)
enum RGBFlags { FLAG_RED = 1; FLAG_GREEN = 2; FLAG_BLUE = 4; }
message SomeMessage {
  // Values from RGBFlags only allowed
  optional int32 flags = 2;
}   
My fellow programmers in C++ don't care about type safety and treat flags field as a plain integer. I wanted to be more strict and try to avoid such code:
SomeMessage foo = new SomeMessage();
foo.flags = (int)RGBFlags.FLAG_BLUE | (int)RGBFlags.FLAG_GREEN;
I thought that I could use protbuf custom options to amend proto code and modify XSLT transform of ProtoGet to generate necessary `[Flags]' annotations.
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;
}   
Problem is that all custom options appear as uninterpreted_option in the temporary file in ProtoGen. 
Any idea what I could do to get [Flags] annotations in my code?
 
     
    