Ejemplo n.º 1
0
        private object ExecuteLambdaExpression(object dataContext, ExpressionScope scope, object[] arguments)
        {
            if (_body != null)
            {
                var lambdaScope = new ExpressionScope(scope);

                // Заполнение контекста параметрами функции

                if (arguments != null)
                {
                    for (var i = 0; i < arguments.Length && i < _parameters.Count; ++i)
                    {
                        lambdaScope.DeclareVariable(_parameters[i].Name, arguments[i]);
                    }
                }

                return(_body.Execute(dataContext, lambdaScope));
            }

            return(null);
        }