По обычным причинам мне нужно использовать некоторые константы в моем приложении.
Подходы, которые я рассматривал:
1) Объявите перечисление:
public enum myOptions
{
MyOption1 = 72,
MyOption2 = 31,
MyOption3 = 44
}
Хотя это хорошо для программирования, и я могу связать перечисление непосредственно с DDL, но «имена» Enum уродливы, когда пользователь их видит. Пользователь увидит «MyOption1», и я хочу, чтобы они увидели «My Option #». 1".
2) Используйте список:
public static List<KeyValuePair<int, string>> myOptions = new List<KeyValuePair<int, string>>
{
new KeyValuePair<int, string>(77, "My Option #1"),
new KeyValuePair<int, string>(31, "My Option #2"),
new KeyValuePair<int, string>(44, "My Option #3")
}
Так что, хотя это очень хорошо связывается с DDL, дает мне хорошее отображаемое значение, а также целочисленное возвращаемое значение, мне не с чем проверять возвращаемое значение. Так, например:
if (selectedOption=????) //I'd have to hardcode the Key or Value I want to test for.
3) Я мог бы собрать хорошую сборку Global/Constants:
static myOptions
{
public static KeyValuePair<int, string> MyOption1 = new new KeyValuePair<int, string>(77, "My Option #1");
public static KeyValuePair<int, string> MyOption2 = new new KeyValuePair<int, string>(31, "My Option #2");
public static KeyValuePair<int, string> MyOption3 = new new KeyValuePair<int, string>(44, "My Option #3");
}
Это дает мне хорошие отображаемые имена, с которыми приятно кодировать, но, насколько я могу судить, у меня нет возможности легко связать это с DDL (мне пришлось бы вручную кодировать это).
Есть ли у кого-нибудь элегантный способ создания констант, которые легко связываются с DDL, где я могу иметь красивое отображаемое имя?
Прямо сейчас единственное, о чем я могу думать, это создание ОБА Enum и List, что кажется раздражающим.