Enum: 显示Description Attribute的值
1.定义一个Enum类型:
namespace MultipleLanguage.Models { public enum EnumDef { [Description("周一")] Monday, [Description("周二")] TuesDay, [Description("周三")] WendesDay, [Description("周四")] ThursDay } }
2.获取Enum类型上的Description值(Controller)
namespace MultipleLanguage.Controllers { public class ShowEnumDescriptionDemoController : Controller { // GET: ShowEnumDescriptionDemo public ActionResult Index() { Enum monday = MultipleLanguage.Models.EnumDef.Monday; ViewBag.Des = GetEnumDescription(monday); ViewBag.Des1 = GetEnumDesciptionCLD(monday); return View(); } //法一:MemberInfo.GetCustomAttributes private string GetEnumDescription(Enum value) { // Get the Description attribute value for the enum value FieldInfo fi = value.GetType().GetField(value.ToString()); DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false); if (attributes.Length > 0) return attributes[0].Description; else return value.ToString(); } //法二:Attribute.GetCustomAttributes Method private string GetEnumDesciptionCLD(Enum value) { FieldInfo field = value.GetType().GetField(value.ToString()); DescriptionAttribute attribute = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute)) as DescriptionAttribute; return attribute == null ? string.Empty : attribute.Description; } } }
3.Views
<h2>显示Enum类型的Description值</h2> <p>法一:MemberInfo.GetCustomAttributes Method</p> @ViewBag.Des <p>法二:Attribute.GetCustomAttributes Method</p> @ViewBag.Des1
4.测试结果如下:

本文来自博客园,转载请注明原文链接:https://www.cnblogs.com/keeplearningandsharing/p/14647061.html
浙公网安备 33010602011771号