コード例 #1
0
        /// <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>
            }
        }
コード例 #2
0
 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}");
 }