2016-12-20 2 views
0

У нас есть перечисление со следующими значениями:локализация Enum в Web API

  • Значение1 - локализованы в 'Значение 1' с помощью [Display (Name = "Значение 1")]
  • Value2 - локализуется «Value 2' с помощью [Display (Name = „Значение 2“)]
  • т.д.

Но в веб-API, мы хотели бы принять их локализованные значения вместо значения перечислений (так что „значение 1“ вместо Value1).

В свойствах клиента edmx генерируется как строка, поэтому возникает вопрос - будет ли сервер принимать значение «1» по умолчанию или нам нужно реализовать специальную логику для его обработки?

ответ

0

Если вы используете локализованные ресурсы, вы можете связать свою запись ресурса с вашим enum, используя аннотации данных. Для отображения просто используйте свойство ResourceType.

[Display(ResourceType = typeof(RES.enums),Name = "enumSomeTypeValue1")] 

В вашей службе вам нужно будет применить преобразование, если вы преобразование строкового представления перечисления или вы получите сообщение об ошибке, если строка не совпадает с именем члена перечисления.

Возможно, вы могли бы создать метод для разрешения локализованной метки обратно на связанное перечисление.