Как бы я мог объединить два лямбда-выражения, такие как theese:
Expression<Func<string, bool>> expr1 = a => a.Length > 100;
Expression<Func<string, bool>> expr2 = b => b.Length < 200;
... в такое выражение:
Expression<Func<string, bool>> expr3 = s => s.Length < 100 && s.Length < 200;
То есть, соединяя их с оператором AndAlso. (Или любой другой оператор в этом отношении ...)
Я действительно преуспел с некоторой неприятной рекурсивной заменой лямбда-параметров, а затем соединился с методом Expression.AndAlso. Но я ищу что-то более простое.
Например, что-то вроде: (что, очевидно, не работает.)
Expression<Func<string, bool>> expr3 = c => expr1(a) && expr2(b);