【发布时间】:2016-04-05 20:04:58
【问题描述】:
我有 Enum 并且都有自定义属性。所以,我希望通过提供的自定义属性枚举值。
枚举
public enum Language
{
[StringValue("af")]
Afrikaans,
[StringValue("sq")]
Albanian,
[StringValue("ar")]
Arabic,
[StringValue("be")]
Belarusian,
[StringValue("bg")]
Bulgarian,
[StringValue("ca")]
Catalan
}
我尝试实现此代码,但出现错误“'Type' 不包含'GetTypeInfo' 的定义,并且找不到接受'Type' 类型的第一个参数的扩展方法'GetTypeInfo'(是您缺少 using 指令或程序集引用?)“
using System.Reflection;
public static T GetAttribute<T>(this Enum enumValue)
where T : Attribute
{
return enumValue
.GetType()
.GetTypeInfo()
.GetDeclaredField(enumValue.ToString())
.GetCustomAttribute<T>();
}
【问题讨论】:
-
您想要针对枚举值输入的属性值吗?
标签: c# enums custom-attributes