Beispiel #1
0
        private IConvertible EvaluateContextExpression(IEvaluateContext context, IEvaluateContext paramContext)
        {
            var paramValues = new IConvertible[_parameters.Length];

            for (int i = 0; i < _parameters.Length; i++)
            {
                paramValues[i] = _parameters[i].Evaluate(paramContext);
            }
            IEvaluateContext ctx = context.EvaluateContext(_contextExpr, paramValues);

            if (_expr is ContextExpression)
            {
                return(((ContextExpression)_expr).EvaluateContextExpression(ctx, paramContext));
            }
            return(_expr.Evaluate(ctx));
        }
Beispiel #2
0
 private IConvertible EvaluateContextExpression(IEvaluateContext context, IEvaluateContext paramContext)
 {
     var paramValues = new IConvertible[_parameters.Length];
     for(int i=0; i<_parameters.Length; i++)
     {
         paramValues[i] = _parameters[i].Evaluate(paramContext);
     }
     IEvaluateContext ctx = context.EvaluateContext(_contextExpr, paramValues);
     if (_expr is ContextExpression)
     {
         return ((ContextExpression) _expr).EvaluateContextExpression(ctx, paramContext);
     }
     return _expr.Evaluate(ctx);
 }
Beispiel #3
0
 public virtual IEvaluateContext EvaluateContext(string symbol, IConvertible[] parameters)
 {
     return(_delegate.EvaluateContext(symbol, parameters));
 }