public static void Print(this AdditionExpression ae, StringBuilder sb) { sb.Append("("); ae.Left.Print(sb); sb.Append("+"); ae.Right.Print(sb); sb.Append(")"); }
private static void Main(string[] args) { var e = new AdditionExpression( left: new DoubleExpression(1), right: new AdditionExpression( left: new DoubleExpression(2), right: new DoubleExpression(3))); var sb = new StringBuilder(); e.Print(sb); WriteLine(sb); // what is more likely: new type or new operation }