如何显示枚举显示属性的名称
这是我的枚举。
public enum ContractType { [Display(Name = "Permanent")] Permanent= 1, [Display(Name = "Part Time")] PartTime= 2, }
我尝试使用下面的代码获取显示名称。
string x = Enum.GetName(typeof(ContractType), 2);
但它始终是返回“ PartTime ”。 其实我想得到display属性的名称。 对于上面的例子,x应该被指定为Part Time
我看到有大量代码的解决方案。 这不是一个简单的/一线解决方案吗?
请告诉我一个方向。
鉴于枚举
public enum ContractType { [Display(Name = "Permanent")] Permanent= 1, [Display(Name = "Part Time")] PartTime //Automatically 2 you dont need to specify }
自定义方法获取数据注释显示名称。
//This is a extension class of enum public static string GetEnumDisplayName(this Enum enumType) { return enumType.GetType().GetMember(enumType.ToString()) .First() .GetCustomAttribute() .Name; }
调用GetDisplayName()
ContractType.Permanent.GetEnumDisplayName();
希望这可以帮助 :)