Есть ли способ передать лямбда-выражение в качестве переменной или аргумента?

Мне нужно передать лямбда-запрос в качестве параметра, следующий код является примером, и мне интересно найти реализацию для него, есть примеры: что-то вроде этого:

var expr1 = Where(n => n > 6).OrderBy(n => n % 2 == 0).Select(n => n);
var expr2 = TakeWhile((n, index) => n >= index));

И используйте это так:

public void UseLambda<T> (IEnumerable<T> source , lambda Expr){

var items= Expr.Compile(source);

foreach(var item in items)
     Console.Writeline(item.ToString());
}

public void Main(){
    List<int> numbers = new List<int> { 10, 24, 9, 87, 193, 12, 7, 2, -45, -2, 9 };
    var expr1 = Where(n => n > 6).OrderBy(n => n % 2 == 0).Select(n => n);
    UseLambda(numbers, expr1);
}

Кто-нибудь имеет представление об этом?

Ответы на вопрос(5)

Ваш ответ на вопрос