Merge pull request #355 from AntiTcb/fix/enumTypeReader

Values in ImmutableDictionaries were strings rather than enumType
This commit is contained in:
RogueException
2016-11-17 15:24:17 -04:00
committed by GitHub

View File

@@ -31,13 +31,13 @@ namespace Discord.Commands
var byNameBuilder = ImmutableDictionary.CreateBuilder<string, object>();
var byValueBuilder = ImmutableDictionary.CreateBuilder<T, object>();
foreach (var v in Enum.GetNames(_enumType))
{
byNameBuilder.Add(v.ToLower(), v);
var parsedValue = (T)Enum.Parse(_enumType, v);
if (!byValueBuilder.ContainsKey(parsedValue))
byValueBuilder.Add(parsedValue, v);
{
var parsedValue = Enum.Parse(_enumType, v);
byNameBuilder.Add(v.ToLower(), parsedValue);
if (!byValueBuilder.ContainsKey((T)parsedValue))
byValueBuilder.Add((T)parsedValue, parsedValue);
}
_enumsByName = byNameBuilder.ToImmutable();