Единственный раз, когда вам это нужно:
- когда вы работаете .proto => C # или C # => .proto и хотите, чтобы имя в .proto отличалось от фактического
enum
объявления
- когда вы хотите сопоставить числа в проводе с числами в вашей модели типа по какой-то причине, то есть значение
enum
, равное 12
в проводе ( другим пользователям с теми же данными) было бы более полезно 20
для вашего приложения как-то
Я обычно настоятельно не рекомендую второй вариант; это делает вещи слишком сложными, и , это означает, что нужно применить дополнительный бит логики в обоих направлениях. Это особенно верно сейчас, когда «proto3» изменил ожидаемое поведение непризнанных значений; в «proto2» это означало ошибку, но в «proto3» вы должны просто принять значение. Вы не можете сделать это, если применяете карту.