Search code examples
c#.netgenericsexpressionenumerable

Convert Expression<Func<TModel, IList<TItem>>> to Expression<Func<TModel, IEnumerable>>


I have some method:

public void Foo(Expression<Func<TModel, IEnumerable>> expression) {
  // foo
}

and I have variable:

Expression<Func<TModel, IList<TItem>>> expression;

How I can pass my variable to Foo?


Solution

  • You have to convert your expression variable:

    var exp = Expression.Lambda<Func<TModel, IEnumerable>>(expression.Body, expression.Parameters);
    Foo(exp);