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)); }
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); }
public virtual IEvaluateContext EvaluateContext(string symbol, IConvertible[] parameters) { return(_delegate.EvaluateContext(symbol, parameters)); }