/// <summary> /// Calculates the value from the parsed pieces. /// </summary> internal override ParseResult <Duration> CalculateValue(PatternFields usedFields, string text) { if (IsNegative) { currentNanos = -currentNanos; } if (currentNanos < Duration.MinNanoseconds || currentNanos > Duration.MaxNanoseconds) { return(ParseResult <Duration> .ForInvalidValuePostParse(text, TextErrorMessages.OverallValueOutOfRange, typeof(Duration))); } return(ParseResult <Duration> .ForValue(Duration.FromNanoseconds(currentNanos))); }
/// <summary> /// Calculates the value from the parsed pieces. /// </summary> internal override ParseResult <Duration> CalculateValue(PatternFields usedFields, string text) { if (IsNegative) { currentNanos = -currentNanos; } if (currentNanos < MinNanos || currentNanos > MaxNanos) { // TODO: Work out whether this is really the best message. (Created a new one...) return(ParseResult <Duration> .ForInvalidValuePostParse(text, Messages.Parse_OverallValueOutOfRange, typeof(Duration))); } return(ParseResult <Duration> .ForValue(Duration.FromNanoseconds(currentNanos))); }