/// <summary> /// Builds block expression /// </summary> /// <param name="blockBuilder">localVariables => body</param> public static BlockExpression Block(Func <dynamic, IEnumerable <object> > blockBuilder) { var variables = new ParametersEBuilder(true); var body = blockBuilder(variables); return(Expression.Block(variables, Exprs(body))); }
/// <summary> /// Builds lambda expression /// </summary> /// <param name="bodyBuilder">parameters => body</param> public static LambdaExpression Lambda(Func <dynamic, object> bodyBuilder) { var builder = new ParametersEBuilder(false); var body = Expr(bodyBuilder(builder)); return(Expression.Lambda(body, builder)); }