/// <inheritdoc /> public void WriteXml(XmlWriter writer) { writer.WriteAttributeString(nameof(Location), Location.ToFormatString()); if (FormatterName != null) { writer.WriteAttributeString(nameof(FormatterName), FormatterName); } if (PathParts.Any()) { var pathStr = string.Join(",", PathParts.Select(f => { if (f.Key != null) { return("{" + f.Value + ";" + f.Key + "}"); } return("{" + f.Value + "}"); })); writer.WriteAttributeString(nameof(PathParts), pathStr); } foreach (var expressionArgument in Formats) { writer.WriteStartElement("Format"); expressionArgument.WriteXml(writer); writer.WriteEndElement(); //</Format> } }
public override string ToString() { return($"Path={string.Join("/", PathParts.Select(x => x.PartType == PathPart.PathPartType.Argument ? $"{{{x.Value}}}" : x.Value))}, Parameters={string.Join("&", Parameters.Select(x => $"{x.Name}={x.Value}"))}, Fragment={Fragment}"); }