/// <summary>Visit a literal.</summary> /// <param name="literal">Literal to be visited.</param> protected override void VisitLiteral(Literal literal) { if (literal.Value == null) { VisitNullLiteral(literal.ValueType); } else { string valueString; switch (literal.ValueType.FullName) { default: if (literal.Value is EntityId) { valueString = String.Format("<{0}>", literal.Value); } else { valueString = String.Format("\"{0}\"", literal.Value); } break; case "System.Byte": case "System.SByte": case "System.Int16": case "System.UInt16": case "System.Int32": case "System.UInt32": case "System.Int64": case "System.UInt64": valueString = literal.Value.ToString(); break; case "System.Char": case "System.String": valueString = String.Format("\"{0}\"^^xsd:string", literal.Value); break; case "System.Single": case "System.Double": case "System.Decimal": valueString = String.Format(CultureInfo.InvariantCulture, "{0}", literal.Value); break; case "System.DateTime": valueString = String.Format(CultureInfo.InvariantCulture, "\"{0}\"^^xsd:dateTime", literal.Value); break; case "System.Uri": valueString = String.Format("<{0}>", literal.Value); break; } _commandText.Append(valueString); } }
/// <summary>Visit a literal.</summary> /// <param name="literal">Literal to be visited.</param> protected abstract void VisitLiteral(Literal literal);