private Delegate CompileLambda(ParameterExpression[] parameters, params ParameterExpression[] variables) { BlockExpression res = Expression.Block(variables, _body); Delegate ret = Expression.Lambda(res, parameters).Compile(); return ret; }