/// <summary> /// Converts the string representation of a MIDI time span to its <see cref="MidiTimeSpan"/> /// equivalent. /// </summary> /// <param name="input">A string containing a time span to convert.</param> /// <returns>A <see cref="MidiTimeSpan"/> equivalent to the time span contained in /// <paramref name="input"/>.</returns> public static MidiTimeSpan Parse(string input) { MidiTimeSpan timeSpan; var parsingResult = MidiTimeSpanParser.TryParse(input, out timeSpan); if (parsingResult.Status == ParsingStatus.Parsed) { return(timeSpan); } throw parsingResult.Exception; }
/// <summary> /// Converts the string representation of a MIDI time span to its <see cref="MidiTimeSpan"/> /// equivalent. A return value indicates whether the conversion succeeded. /// </summary> /// <param name="input">A string containing a time span to convert.</param> /// <param name="timeSpan">When this method returns, contains the <see cref="MidiTimeSpan"/> /// equivalent of the time span contained in <paramref name="input"/>, if the conversion succeeded, or /// null if the conversion failed. The conversion fails if the <paramref name="input"/> is null or /// <see cref="String.Empty"/>, is not of the correct format. This parameter is passed uninitialized; /// any value originally supplied in result will be overwritten.</param> /// <returns>true if <paramref name="input"/> was converted successfully; otherwise, false.</returns> public static bool TryParse(string input, out MidiTimeSpan timeSpan) { return(MidiTimeSpanParser.TryParse(input, out timeSpan).Status == ParsingStatus.Parsed); }