Как преобразовать IEnumerable в Enum на C#?

Я разобрал несколько строк на флаги Enum, но не вижу точного способа объединить их в одно битовое поле Enum.

Метод, с помощью которого я использую циклы перебора строковых значений, а затем |= кастые значения к объекту Enum, например:

[Flags]
public enum MyEnum { None = 0, First = 1, Second = 2, Third = 4 }
...

string[] flags = { "First", "Third" };
MyEnum e = MyEnum.None;

foreach (string flag in flags)
    e |= (MyEnum)Enum.Parse(typeof(MyEnum), flag, true);

Я пытался с помощью метода Select преобразовать их в мой тип Enum, но потом застрял с IEnumerable. Есть предложения?

5
задан waj 7 August 2011 в 12:50
поделиться