Enum bayraklarına birkaç dizeyi ayrıştırdım, ancak bunları tek bir Enum bit alanıyla birleştirmenin düzgün bir yolunu göremiyorum.IEnumerable <Enum>'u En # C ile Enum'a nasıl dönüştürebilirim?
Sonra dize değerlerini aracılığıyla döngüler kullanıyorum yöntem | = dökme Enum nesnesine değerleri şöyle:
[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);
Ben Seç yöntemi kullanarak denedim benim Enum tipine dönüştürmek için ama sonra IEnumerable<MyEnum>
ile sıkışıp kaldım. Baska öneri?
bir That n 'IEnumerable', bir 'IEnumerable '. –
BoltClock
@BoltClock, kod örneği bir dizi dizisini gösterir, ancak 'flags.select (flag => (MyEnum) Enum.Parse (typeof (MyEnum), flag, true))' 'IEnumerable' döndürür ve burada Sıkıştım. –
waj