I have various enums that I use as sources for dropdown lists, In order to provide for a user-friendly description, I added a Description attribute to each enum, an
Description
Try replacing
.ToDictionary(k => k, v => v.GetAttributeOfType().Description)
with
.Select(t => new { k = t, v = t.GetAttributeOfType().Description) .ToDictionary(s => s.k, s => s.v)
In your example, the wrong overload of ToDictionary() is being called.