Files
VAR.ExpressionEvaluator/VAR.ExpressionEvaluator/ExpressionNodes/ExpressionPlusNode.cs

27 lines
807 B
C#

using System;
namespace VAR.ExpressionEvaluator
{
public class ExpressionPlusNode : ExpressionBinaryNode
{
public ExpressionPlusNode(IExpressionNode leftNode, IExpressionNode rightNode) :
base(leftNode, rightNode, PlusOp)
{
}
private static object PlusOp(object leftValue, object rightValue)
{
if (leftValue is string || rightValue is string)
{
return string.Concat(Convert.ToString(leftValue), Convert.ToString(rightValue));
}
if ((leftValue is decimal) == false || (rightValue is decimal) == false)
{
throw new Exception("Can't sum non decimal values");
}
return (decimal)leftValue + (decimal)rightValue;
}
}
}