2017-02-22 6 views
0

Я программирую в WPF (C#). Я заселить ComboBox с этой функцией:Получить перечисление из ComboBox

public static void PopulateComboBox(ComboBox cmb, Type type) 
{ 
    foreach (string name in Enum.GetNames(type)) 
    { 
     cmb.Items.Add(name); 
    } 
} 

Теперь мне нужен метод, как это (как показано ниже), чтобы получить any enum в качестве вывода:

public static enum PopulateComboBox(ComboBox cmb, string nameOfEnum, Type type) 
{ 

} 

Как я могу написать такую ​​функцию?

+0

Вы имеете в виду 'public static Enum ...'? не знаете, что вы спрашиваете, какова ваша проблема? – Gusman

+0

вы не можете вернуть 'enum'. Я думаю, что вы имеете в виду вернуть что-то типа Enum. –

+0

Какова цель «Список names = new Список ();'? – KernelMode

ответ

0

Я хотел бы добавить значения перечисления в ComboBox непосредственно вместо их имен.

Другим вариантом будет Enum.Parse(Type enumType, string value).

-1

Наконец-то я нашел свой ответ в this page. Мой ответ:

public static T ToEnum<T>(this string value) 
{ 
    return (T) Enum.Parse(typeof(T), value, true); 
} 

Например, я называю это следующим образом:

BorderType borderType = ToEnum<BorderType>("Constant"); 

где BorderType является enum (от OpenCV);

Смежные вопросы