2013-07-02 5 views
0

Я пытаюсь бросить динамический набор значений, так что я могу использовать лямбда-выражения, чтобы запросить их, но я получаю ошибки при забросе коллекцию как IEnumerable:IEnumerable не принимает мой класс как тип?

(IEnumerable<MyClass>ViewBag.MyClassList)

вызывает ошибки

Using the generic type System.Collections.Generic.IEnumerable<T> requires 1 type arguments

и

MyClass is a 'type', which is not valid in the given context

Это буквально имеет нулевой смысл. IEnumerable хочет тип, но с использованием типа is not valid in the given context.

Halp?

+4

Возможно, дело в скобках. Попробуйте '((IEnumerable ) ViewBag.MyClassList)' –

+0

Это помогло, но оно вернуло ошибку, которая привела меня сюда. 'Невозможно использовать лямбда-выражение в качестве аргумента для динамически отправленной операции, не вставляя его сначала в класс делегата или дерева выражений. – Kehlan

+1

Затем вы должны показать некоторый код, чтобы мы могли помочь вам в этом. –

ответ

1

Скобки должны сделать трюк:

((IEnumerable<MyClass>) ViewBag.MyClassList)

0

Не так много информации для контекста.

ViewBag.MyClassList as IEnumerable<MyClass>

Может быть метод расширения или два слишком

ViewBag.MyClassList.ConvertAll<MyClass>()

ViewBag.MyClassList.ToList<MyClass>()

но кроме этого, Джероен имеет "слепок" подход и использование скобок

Смежные вопросы