Извините за задержку, я взял перерыв.Я являюсь автором protobuf-net.
Каков наилучший способ получить файл .cs из заданного файла .proto с protobuf.net
В конечном счете,специально для protobuf-net: protogen
- это то, что https://protogen.marcgravell.com/ использует (я полагаю, именно об этом вы и говорили, когда говорите «с онлайн-генератором protobuf.net»)
В документации Sparkplug перечисления Datatype имеют строковую форму 'Uint64', а в файле .cs результата мы имеем 'LongValue'.
Я предполагаю, что это происходит из:
uint64 long_value = 4;
Если проблема заключается в наименовании (LongValue
против long_value
), то обратите внимание, что protobuf-net имеет опции, позволяющие больше контролировать это;LongValue
это просто соглашение по умолчанию.
Однако: это не перечисление - в sparkplug_b.proto
нет перечисления.Если вы можете более конкретно сказать, что вы хотите получить в качестве сгенерированного кода (и в идеале, почему), я почти наверняка могу помочь больше.
(правка: там есть и enum
, необязательно сгенерированные из oneof
)