Esempio n. 1
0
 /// <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(")");
         }
     }
 }