public ReadResults Parse(IStringReader reader, DispatcherResources resources, out double result) { int start = reader.GetCursor(); ReadResults readResults = reader.ReadDouble(out result); if (readResults.Successful) { if (result < Minimum) { reader.SetCursor(start); return(ReadResults.Failure(CommandError.DoubleTooLow(result, Minimum).WithContext(reader))); } if (result > Maximum) { reader.SetCursor(start); return(ReadResults.Failure(CommandError.DoubleTooHigh(result, Maximum).WithContext(reader))); } } return(readResults); }