我有枚舉,並且都有自定義屬性。所以,我想通過提供的自定義屬性枚舉值。從自定義屬性獲取ENUM值
ENUM
public enum Language
{
[StringValue("af")]
Afrikaans,
[StringValue("sq")]
Albanian,
[StringValue("ar")]
Arabic,
[StringValue("be")]
Belarusian,
[StringValue("bg")]
Bulgarian,
[StringValue("ca")]
Catalan
}
我嘗試實現這個代碼,但我得到了錯誤「‘類型’不包含‘GetTypeInfo的’的定義,並沒有擴展方法‘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>();
}
你想要的屬性對枚舉值輸入值? –
看看這個:http://stackoverflow.com/questions/36208281/enum-to-list-as-an-extension/36209063#36209063 –