Версии Enum - PullRequest
       40

Версии Enum

1 голос
/ 14 апреля 2010

публичное перечисление ObjectType { Страна = 0, Регион = 1, Область = 2, Город = 3, Отель = 4 }

У меня есть два приложения в двух языковых версиях, и этот Enum отображается в некотором месте, поэтому в зависимости от языковой версии я хочу отобразить правильную версию Enum

в немецкой версии вместо Country Land и т. Д.

Это приложение использует тот же веб-сервис, в котором есть объявление этого перечисления.

ДОБАВЛЕНО

У меня есть представление данных и список объектов, классы которых имеют поле ObjectType, и я должен отобразить этот пул в datagridviev, так что это проблема

Ответы [ 5 ]

12 голосов
/ 14 апреля 2010

Enum-ключи являются частью вашего кода, так же как и имена методов. Они не должны быть локализованы.

Если вам нужно локализовать вещи, не отображайте ключи перечисления непосредственно для пользователя Сопоставьте их с локализованными значениями, используя файл ресурсов.

2 голосов
/ 14 апреля 2010

Предполагается, что значения перечисления предназначены для логики программирования и обычно не используются для вывода пользовательского интерфейса. Вам следует предоставить перечисление ObjectType на английском языке по умолчанию (как и большинство ключевых слов программирования) и позволить потребителю WebService выполнить перевод на правильный язык.

0 голосов
/ 18 апреля 2010
0 голосов
/ 14 апреля 2010

Лучше всего было бы реализовать отображение базы данных или файла конфигурации между перечислением и строковым представлением. Это поможет вам не только для локализации, но и для перечисления значений, которые имеют два слова

0 голосов
/ 14 апреля 2010

Как насчет такого решения?

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

Кстати, как кто-то сказал, Enums не должны быть локализованы. Попробуйте другое хорошее решение. Если вы поделитесь более подробной информацией, мы постараемся предложить.

...