/// <summary> /// Builds a <see langword="string"/> representing the <see cref="Expression"/>. /// </summary> /// <param name="builder">A <see cref="System.Text.StringBuilder"/> to add the created <see langword="string"/>.</param> internal override void BuildString(StringBuilder builder) { if (builder == null) { throw new ArgumentNullException("builder"); } if (NodeType == ExpressionType.ArrayIndex) { Left.BuildString(builder); builder.Append("["); Right.BuildString(builder); builder.Append("]"); } else { string @operator = GetOperator(); if (@operator != null) { builder.Append("("); Left.BuildString(builder); builder.Append(" "); builder.Append(@operator); builder.Append(" "); Right.BuildString(builder); builder.Append(")"); } else { builder.Append(NodeType); builder.Append("("); Left.BuildString(builder); builder.Append(", "); Right.BuildString(builder); builder.Append(")"); } } }