DisplayName Attributs des membres de l'énumération dans la vue du rasoir MVC
La tâche consiste à créer la liste sélectionnée dans le modèle du modèle. Le fragment de code fourni par l'utilisateur démontre la récupération de la valeur d'énumération, mais n'a pas la méthode de recherche de l'attribut de nom.
La solution réside dans la classe ENUMEXtensions fournie dans la réponse:
<code class="language-csharp">public static class EnumExtensions { /// <summary> /// 一个通用的扩展方法,用于反射和检索应用于`Enum`的任何属性。 /// </summary> public static TAttribute GetAttribute<TAttribute>(this Enum enumValue) where TAttribute : Attribute { return enumValue.GetType() .GetMember(enumValue.ToString()) .First() .GetCustomAttribute<TAttribute>(); } }</code>
<code class="language-csharp">var seasonDisplayName = Season.GetAttribute<DisplayAttribute>(); Console.WriteLine("现在是什么季节?"); Console.WriteLine(seasonDisplayName.Name);</code>
<code class="language-csharp">@currentPromotion.GetAttribute<DisplayAttribute>().Name</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!