public void Print(AdditionalExpression 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 AdditionalExpression( new DoubleExpression(1), new AdditionalExpression( new DoubleExpression(3), new DoubleExpression(4))); var ep = new ExpressionPrinter(); var sb = new StringBuilder(); ep.Print((dynamic)e, sb); WriteLine(sb); ReadKey(); }