从ComboBox获取任何枚举

时间:2017-02-22 21:41:51

标签: c# types enums enumeration

我正在使用WPF编程(C#)。我使用此函数填充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)
{

}

我该怎么写这样的功能?

2 个答案:

答案 0 :(得分:0)

我会考虑直接将枚举值添加到ComboBox而不是它们的名称。

另一个选项是# url url/items?token=12345 def index token = Token.find_by_token(params[:token]) if token && token.expiry > Time.now #do something else redirect_to root_url end end

答案 1 :(得分:-1)

最后我在this page找到了答案。我的回答是:

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

例如我用这种方式调用它:

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

其中BorderTypeenum(来自OpenCV);