コード例 #1
0
        public void AppendFormat()
        {
            var builder = new StringBuilder("x");
            var offset  = Offset.FromHoursAndMinutes(17, 30);

            SimpleOffsetPattern.AppendFormat(offset, builder);
            Assert.AreEqual("x17:30", builder.ToString());
        }
コード例 #2
0
 /// <summary>
 /// Adds parsing/formatting of an embedded pattern, e.g. an offset within a ZonedDateTime/OffsetDateTime.
 /// </summary>
 internal void AddEmbeddedPattern <TEmbedded>(
     IPartialPattern <TEmbedded> embeddedPattern,
     Action <TBucket, TEmbedded> parseAction,
     Func <TResult, TEmbedded> valueExtractor)
 {
     AddParseAction((value, bucket) =>
     {
         var result = embeddedPattern.ParsePartial(value);
         if (!result.Success)
         {
             return(result.ConvertError <TResult>());
         }
         parseAction(bucket, result.Value);
         return(null);
     });
     AddFormatAction((value, sb) => embeddedPattern.AppendFormat(valueExtractor(value), sb));
 }
コード例 #3
0
 public StringBuilder AppendFormat(Offset value, StringBuilder builder)
 {
     Preconditions.CheckNotNull(builder, nameof(builder));
     return(value == Offset.Zero ? builder.Append("Z") : fullPattern.AppendFormat(value, builder));
 }