Я хочу преобразовать свой список в IEnumerable, я искал несколько методов, но ни один из них не работает.
У меня есть перечисление с именем MyEnum
.
Мой код:
List<string> statusFilter = new List<string>();
statusFilter.Add(Data.MyEnum.New.ToString("d"));
statusFilter.Add(Data.MyEnum.Queued.ToString("d"));
statusFilter.Add(Data.MyEnum.InProgress.ToString("d"));
Я пробовал:
IEnumerable<MyEnum> myEnum =(IEnumerable<Data.MyEnum>)statusFilter as IEnumerable<Data.TaskStatus>
IEnumerable<MyEnum> myEnum=(IEnumerable<Data.MyEnum>)statusFilter;
IEnumerable<MyEnum> myEnum = statusFilter;
IEnumerable<MyEnum> myEnum = statusFilter as IEnumerable<Data.MyEnum>;
IEnumerable<MyEnum> myEnum = statusFilter.Cast<Data.MyEnum>()
В решениях № 1 и № 2 я сталкиваюсь с ошибкой:
System.InvalidCastException: 'Невозможно привести объект к введите 'System.Collections.Generi c .List`1 [System.String]', чтобы ввести 'System.Collections.Generi c .IEnumerable`1
Что касается решения № 4:
IEnumerable<MyEnum> myEnum
устанавливается только на null
.
Что касается решения № 5:
'Невозможно привести объект типа' System.String ' набрать Data.MyEnum '
Я не могу преобразовать свой список в тип MyEnum
, так как он будет содержать несколько значений для передачи в мою базу данных, поэтому я сделал его строкой. Кроме того, для получения числового значения c перечисления почему форматируется в ToString("d")
.