private dynamic EvaluateLeft(IBinaryExpressionNode node) { var leftCalculation = node.LeftCalculation.ToDomainItem(m_domainItemLocator); dynamic dl = leftCalculation; return(Evaluate(dl)); }
private dynamic EvaluateRight(IBinaryExpressionNode node) { var rightCalculation = node.RightCalculation.ToDomainItem(m_domainItemLocator); dynamic dr = rightCalculation; return(Evaluate(dr)); }
private Expression BuildBinary(IBinaryExpressionNode binary) { var left = BuildExpression(binary.Left); var right = BuildExpression(binary.Right); Func <Expression, Expression, Expression> func; if (!_binaryToExpressionMapping.TryGetValue(binary.Token, out func)) { throw BindingExceptionManager.UnexpectedExpressionNode(binary); } return(func(left, right)); }