Browse Source

Added bool/char typereaders

tags/1.0-rc
RogueException 8 years ago
parent
commit
98475302af
2 changed files with 9 additions and 1 deletions
  1. +2
    -0
      src/Discord.Net.Commands/CommandService.cs
  2. +7
    -1
      src/Discord.Net.Commands/PrimitiveParsers.cs

+ 2
- 0
src/Discord.Net.Commands/CommandService.cs View File

@@ -26,6 +26,8 @@ namespace Discord.Commands
_map = new CommandMap(); _map = new CommandMap();
_typeReaders = new ConcurrentDictionary<Type, TypeReader> _typeReaders = new ConcurrentDictionary<Type, TypeReader>
{ {
[typeof(bool)] = new SimpleTypeReader<bool>(),
[typeof(char)] = new SimpleTypeReader<char>(),
[typeof(string)] = new SimpleTypeReader<string>(), [typeof(string)] = new SimpleTypeReader<string>(),
[typeof(byte)] = new SimpleTypeReader<byte>(), [typeof(byte)] = new SimpleTypeReader<byte>(),
[typeof(sbyte)] = new SimpleTypeReader<sbyte>(), [typeof(sbyte)] = new SimpleTypeReader<sbyte>(),


+ 7
- 1
src/Discord.Net.Commands/PrimitiveParsers.cs View File

@@ -13,7 +13,7 @@ namespace Discord.Commands
static PrimitiveParsers() static PrimitiveParsers()
{ {
var parserBuilder = ImmutableDictionary.CreateBuilder<Type, Delegate>(); var parserBuilder = ImmutableDictionary.CreateBuilder<Type, Delegate>();
parserBuilder[typeof(string)] = (TryParseDelegate<string>)delegate(string str, out string value) { value = str; return true; };
parserBuilder[typeof(bool)] = (TryParseDelegate<bool>)bool.TryParse;
parserBuilder[typeof(sbyte)] = (TryParseDelegate<sbyte>)sbyte.TryParse; parserBuilder[typeof(sbyte)] = (TryParseDelegate<sbyte>)sbyte.TryParse;
parserBuilder[typeof(byte)] = (TryParseDelegate<byte>)byte.TryParse; parserBuilder[typeof(byte)] = (TryParseDelegate<byte>)byte.TryParse;
parserBuilder[typeof(short)] = (TryParseDelegate<short>)short.TryParse; parserBuilder[typeof(short)] = (TryParseDelegate<short>)short.TryParse;
@@ -27,6 +27,12 @@ namespace Discord.Commands
parserBuilder[typeof(decimal)] = (TryParseDelegate<decimal>)decimal.TryParse; parserBuilder[typeof(decimal)] = (TryParseDelegate<decimal>)decimal.TryParse;
parserBuilder[typeof(DateTime)] = (TryParseDelegate<DateTime>)DateTime.TryParse; parserBuilder[typeof(DateTime)] = (TryParseDelegate<DateTime>)DateTime.TryParse;
parserBuilder[typeof(DateTimeOffset)] = (TryParseDelegate<DateTimeOffset>)DateTimeOffset.TryParse; parserBuilder[typeof(DateTimeOffset)] = (TryParseDelegate<DateTimeOffset>)DateTimeOffset.TryParse;
parserBuilder[typeof(char)] = (TryParseDelegate<char>)char.TryParse;
parserBuilder[typeof(string)] = (TryParseDelegate<string>)delegate (string str, out string value)
{
value = str;
return true;
};
_parsers = parserBuilder.ToImmutable(); _parsers = parserBuilder.ToImmutable();
} }




Loading…
Cancel
Save