Enum的版本

时间:2010-04-14 09:29:19

标签: c# winforms web-services enums

public enum ObjectType     {         国家= 0,         地区= 1,         省= 2,         市= 3,         酒店= 4     }

我有两个语言版本的两个应用程序,这个枚举显示在某个地方,所以取决于语言版本我想显示正确版本的枚举

用德语版本代替Country Land等。

此应用程序使用相同的websercice,它声明了此枚举。

ADDED

我有一个datagridview和对象列表,哪些类有字段ObjectType,我必须在datagridviev中显示这个池,所以这是一个问题

5 个答案:

答案 0 :(得分:12)

枚举键是代码的一部分,就像方法名称一样。他们不应该被本地化。

如果您需要本地化,请不要直接向用户显示枚举键。使用资源文件将它们映射到本地化值。

答案 1 :(得分:2)

枚举值应该用于编程逻辑,通常不用于UI输出。您应该以默认英语提供ObjectType枚举(与大多数编程关键字一样),并让WebService使用者将翻译转换为正确的语言。

答案 2 :(得分:0)

这样的解决方案怎么样?

public enum ObjectType 
{ 
    Country=0,
    Land=0, 
    Region=1, 
    ...
} 

顺便说一下,正如有人所说,Enums不应该被本地化。尝试其他一些好的解决方案。如果您分享更多详细信息,我们会尝试建议。

答案 3 :(得分:0)

最好是在枚举和字符串表示之间实现数据库或配置文件映射。它不仅可以帮助您进行本地化,还可以帮助您实现具有两个单词的枚举值

答案 4 :(得分:0)