鉴于GetAttributeOfType<T>()扩展方法,您可以简单地执行:
var dic = Enum.GetValues(typeof(SomeEnum))
.Cast<SomeEnum>()
.ToDictionary(k => k, v => v.GetAttributeOfType<DescriptionAttribute>())
Run Code Online (Sandbox Code Playgroud)
如果您直接想要值中的描述:
var dic = Enum.GetValues(typeof(SomeEnum))
.Cast<SomeEnum>()
.ToDictionary(k => k, v => v.GetAttributeOfType<DescriptionAttribute>().Description)
Run Code Online (Sandbox Code Playgroud)