variable '' de tipo '' referenciada desde el alcance '', pero no está definida

Bueno, el siguiente código se explica por sí mismo; Quiero combinar dos expresiones en una usandoAnd operador. La última línea causa el error en tiempo de ejecución:

Información adicional: variable 'y' del tipo 'System.String' referenciada desde el alcance '', pero no está definida

Código:

Expression<Func<string, bool>> e1 = y => y.Length < 100;
Expression<Func<string, bool>> e2 = y => y.Length < 200;

var e3 = Expression.And(e1.Body, e2.Body);

var e4 = Expression.Lambda<Func<string, bool>>(e3, e1.Parameters.ToArray());
e4.Compile(); // <--- causes run-time error

Respuestas a la pregunta(3)

Su respuesta a la pregunta