Enum для стран ISO3166 - приемлемая практика? - PullRequest
2 голосов
/ 21 июля 2011

Я занимаюсь разработкой приложения ASP.NET MVC 3, в котором используется сложная модель, которая сериализуется / десериализуется в / из XML.

В некоторых полях требуются коды стран ISO3166. У меня есть несколько определенных перечислений для других ограниченных списков (которые вряд ли изменятся), которые помечены атрибутом XmlEnum и отображаются аккуратно с использованием шаблонов DisplyFor / EditorFor.

Чтобы быть последовательным, я создал Enum из кодов стран ISO3166.

Однако я знаю, что со временем они изменятся, и мне потребуется пересобрать / развернуть проект.

Учитывая частоту / вероятность изменения кодов ISO3166, является ли это приемлемой практикой?

Ответы [ 2 ]

7 голосов
/ 21 июля 2011

Перечисления являются концептуально связанной коллекцией констант, т.е. они не меняются - клиентская сборка может сделать это предположение и напрямую скомпилировать значение поля enum.

Но ISO 3166 меняется, часто несколько раз в год .Например, создание новой страны Южный Судан должно быть отражено в обновлении.

3 голосов
/ 21 июля 2011

Разве это не просто данные конфигурации?Я бы XML сериализовал List<MyCountryCodeClass> кодов стран и поместил бы его в CountryCodes.xml файл в папке App_Data.

...