public void Print(AdditionExpression ae, StringBuilder sb) { sb.Append("("); Print((dynamic)ae.Left, sb); sb.Append("+"); Print((dynamic)ae.Right, sb); sb.Append(")"); }
static void Main(string[] args) { Expression e = new AdditionExpression( new DoubleExpression(7), new AdditionExpression( new DoubleExpression(8), new DoubleExpression(9))); var ep = new ExpressionBuilder(); var sb = new StringBuilder(); ep.Print((dynamic)e, sb); Console.WriteLine(sb.ToString()); }