From 98475302afc887fb94d448535b4f897d73310d3f Mon Sep 17 00:00:00 2001 From: RogueException Date: Thu, 6 Oct 2016 04:05:32 -0300 Subject: [PATCH] Added bool/char typereaders --- src/Discord.Net.Commands/CommandService.cs | 2 ++ src/Discord.Net.Commands/PrimitiveParsers.cs | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Discord.Net.Commands/CommandService.cs b/src/Discord.Net.Commands/CommandService.cs index b610fa4b7..9b77b65e6 100644 --- a/src/Discord.Net.Commands/CommandService.cs +++ b/src/Discord.Net.Commands/CommandService.cs @@ -26,6 +26,8 @@ namespace Discord.Commands _map = new CommandMap(); _typeReaders = new ConcurrentDictionary { + [typeof(bool)] = new SimpleTypeReader(), + [typeof(char)] = new SimpleTypeReader(), [typeof(string)] = new SimpleTypeReader(), [typeof(byte)] = new SimpleTypeReader(), [typeof(sbyte)] = new SimpleTypeReader(), diff --git a/src/Discord.Net.Commands/PrimitiveParsers.cs b/src/Discord.Net.Commands/PrimitiveParsers.cs index ac705764e..5e3dcd68a 100644 --- a/src/Discord.Net.Commands/PrimitiveParsers.cs +++ b/src/Discord.Net.Commands/PrimitiveParsers.cs @@ -13,7 +13,7 @@ namespace Discord.Commands static PrimitiveParsers() { var parserBuilder = ImmutableDictionary.CreateBuilder(); - parserBuilder[typeof(string)] = (TryParseDelegate)delegate(string str, out string value) { value = str; return true; }; + parserBuilder[typeof(bool)] = (TryParseDelegate)bool.TryParse; parserBuilder[typeof(sbyte)] = (TryParseDelegate)sbyte.TryParse; parserBuilder[typeof(byte)] = (TryParseDelegate)byte.TryParse; parserBuilder[typeof(short)] = (TryParseDelegate)short.TryParse; @@ -27,6 +27,12 @@ namespace Discord.Commands parserBuilder[typeof(decimal)] = (TryParseDelegate)decimal.TryParse; parserBuilder[typeof(DateTime)] = (TryParseDelegate)DateTime.TryParse; parserBuilder[typeof(DateTimeOffset)] = (TryParseDelegate)DateTimeOffset.TryParse; + parserBuilder[typeof(char)] = (TryParseDelegate)char.TryParse; + parserBuilder[typeof(string)] = (TryParseDelegate)delegate (string str, out string value) + { + value = str; + return true; + }; _parsers = parserBuilder.ToImmutable(); }