/// <exception cref="CommandSyntaxException" /> public override long Parse(IStringReader reader) { var start = reader.Cursor; var result = reader.ReadLong(); if (result < Minimum) { reader.Cursor = start; throw CommandSyntaxException.BuiltInExceptions.LongTooLow().CreateWithContext(reader, result, Minimum); } if (result > Maximum) { reader.Cursor = start; throw CommandSyntaxException.BuiltInExceptions.LongTooHigh().CreateWithContext(reader, result, Maximum); } return(result); }
public ReadResults Parse(IStringReader reader, DispatcherResources resources, out long result) { int start = reader.GetCursor(); ReadResults readResults = reader.ReadLong(out result); if (readResults.Successful) { if (result < Minimum) { reader.SetCursor(start); return(ReadResults.Failure(CommandError.LongTooLow(result, Minimum).WithContext(reader))); } if (result > Maximum) { reader.SetCursor(start); return(ReadResults.Failure(CommandError.LongTooHigh(result, Maximum).WithContext(reader))); } } return(readResults); }