【问题标题】:Enum localization in web apiWeb api 中的枚举本地化
【发布时间】:2016-12-20 15:32:57
【问题描述】:

我们有以下值的枚举:

  • Value1 - 通过 [Display(Name = "Value 1")] 本地化为“Value 1”
  • Value2 - 通过 [Display(Name = "Value 2")] 本地化为“Value 2”

但在 Web API 中,我们希望接受它们的本地化值而不是枚举值(因此使用“Value 1”而不是 Value1)。

在客户端 edmx 属性是作为字符串生成的,所以问题是 - 服务器会默认接受“值 1”还是我们必须实现特殊逻辑来处理它?

【问题讨论】:

    标签: c# asp.net asp.net-web-api


    【解决方案1】:

    如果您使用本地化资源,则可以使用数据注释将资源条目绑定到枚举。对于显示,只需使用ResourceType 属性。

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

    在您的服务中,如果您要转换枚举的字符串表示形式,则需要应用转换,否则如果字符串与枚举成员名称不匹配,您将收到错误消息。

    也许您可以创建一个方法来将本地化标签解析回关联的枚举。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-29
      相关资源
      最近更新 更多