無意間看到有人發問個問題,剛好是小章大文章
參考網址連結
這個真的很實用,趕快學起來變成自己的東西
先建立一個類別,繼承Attribute
private class DescriptionAttribute : Attribute
{
public string Description { get; set; }
public DescriptionAttribute(string Description)
{
this.Description = Description;
}
public override string ToString()
{
return this.Description.ToString();
}
}
public enum DirectionEnum
{
[Description("1.上")]
上 = 1,
[Description("2.下")]
下 = 2,
[Description("3.左")]
左 = 3,
[Description("4.右")]
右 = 4
}
取得Description
public static string GetDescription(object T)
{
var type = T.GetType();
var members = type.GetMember(T.ToString());
var attributes = members[0].GetCustomAttributes(typeof(DescriptionAttribute), false);
var description = ((DescriptionAttribute)attributes[0]).Description;
return description;
}
private static void Main(string[] args)
{
DirectionEnum enum1 = DirectionEnum.左;
Console.WriteLine(enum1);
Console.WriteLine((int)enum1);
Console.WriteLine(GetDescription(enum1));
Console.ReadLine();
}
回傳結果
左
3
3.左
也可以跑一個迴圈看看
foreach (var item in Enum.GetValues(typeof(DirectionEnum)))
Console.WriteLine(GetDescription(item));