#c# #enums #drop-down-menu
#c# #перечисления #выпадающее меню
Вопрос:
Я хочу преобразовать строковый вывод выбранного значения из выпадающего списка в перечисляемый. Каков наилучший способ сделать это?
Комментарии:
1. О каком языке / фреймворке вы говорите?
Ответ №1:
Вы можете обернуть это в метод расширения, чтобы упростить вызов:
public static T ToEnum<T>(this string value) {
if (string.IsNullOrWhiteSpace(value)) {
throw new ArgumentNullException("Cannot convert null or empty string to an enum");
}
// Get enum from the built-in Parse method
return (T)Enum.Parse(typeof(T), value, true);
}
Затем вызовите
myValue.ToEnum<EnumNameHere>();
Чтобы получить перечисление
Комментарии:
1. Привет, у меня это сработало: n1.n2.n3.enum = (n1.n2.n3.enum)Enum.Parse(typeof(n4.n5.n6.enum),stringval) где n1..6 — это пространства имен, в которых определены соответствующие перечисления. Спасибо всем за помощь. Спасибо
Ответ №2:
Если вы говорите о C # (просто предположение) ->
Enum.Parse(...)
РЕДАКТИРОВАТЬ: Вот документы MSDN: http://msdn.microsoft.com/en-us/library/essfb559.aspx
Комментарии:
1. Я попробовал Enum.Parse(((System. Введите)n1.n2.n3.enum1), stringval, true); но выдает ошибку, что enum1 — это недопустимый тип в текущем контексте, и где n1.n2.n3 — это пространство имен, в котором объявлено общедоступное перечисление enum1.
Ответ №3:
Если вы храните строки в выпадающем списке, вы также можете использовать блок switch. Рассматривали ли вы возможность заполнения выпадающего списка значениями перечисления? Смотрите здесь Enum.getValues.