public override string ToString() { return(ExpressionPrinter.ToString(this)); }
private static string OperatorToString(BinaryExpression binary) { switch (binary.NodeType) { case ExpressionType.Add: case ExpressionType.AddChecked: return("+"); case ExpressionType.And: return((!ExpressionPrinter.IsBoolean(binary)) ? "&" : "And"); case ExpressionType.AndAlso: return("&&"); case ExpressionType.Coalesce: return("??"); case ExpressionType.Divide: return("/"); case ExpressionType.Equal: return("="); case ExpressionType.ExclusiveOr: return("^"); case ExpressionType.GreaterThan: return(">"); case ExpressionType.GreaterThanOrEqual: return(">="); case ExpressionType.LeftShift: return("<<"); case ExpressionType.LessThan: return("<"); case ExpressionType.LessThanOrEqual: return("<="); case ExpressionType.Modulo: return("%"); case ExpressionType.Multiply: case ExpressionType.MultiplyChecked: return("*"); case ExpressionType.NotEqual: return("!="); case ExpressionType.Or: return((!ExpressionPrinter.IsBoolean(binary)) ? "|" : "Or"); case ExpressionType.OrElse: return("||"); case ExpressionType.Power: return("^"); case ExpressionType.RightShift: return(">>"); case ExpressionType.Subtract: case ExpressionType.SubtractChecked: return("-"); } return(null); }