Values in ImmutableDictionaries were strings rather than enumType

This commit is contained in:
AntiTcb
2016-11-16 11:43:23 -05:00
parent c137dce6c9
commit 59d393b357

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, v);
}
_enumsByName = byNameBuilder.ToImmutable();