如何从字符串表示创建枚举?C#

Ayy*_*ash 0 c# asp.net enums user-controls

我试图从用户控件传回一个枚举的字符串列表,如下所示:

<bni:products id="bnProducts" runat="server" ProductsList="First, Second, Third"  />
Run Code Online (Sandbox Code Playgroud)

并在代码behid做这样的事情:

public enum MS 
    {
        First = 1,
        Second,
        Third
    };
    private MS[] _ProductList;
    public MS[] ProductsList
    {
        get
        {
            return _ProductList;
        }
        set
        {
            _ProductList = how_to_turn_string_to_enum_list;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是我不知道如何将该字符串转换为枚举列表,那么应该是什么"how_to_turn_string_to_enum_list"?或者你知道在用户控件中使用枚举的更好方法吗?我真的希望能够传递一个整洁的列表

Sam*_*ell 6

这是一个简短的解决方案,但它不包括一些非常重要的事情,如本地化和无效输入.

private static MS[] ConvertStringToEnumArray(string text)
{
    string[] values = text.Split(new char[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries);
    return Array.ConvertAll(values, value => (MS)Enum.Parse(typeof(MS), value));
}
Run Code Online (Sandbox Code Playgroud)