我在下面的示例中定义了一个emun。
public enum SampleEnum : int
{
[Display(Name = "One")]
Test_One = 1,
[Display(Name = "Two")]
Test_Two = 2,
[Display(Name = "Three")]
Test_Three = 3
}
在下面的代码行中,如何获取Display的名称?
var displayName = Enum.GetName(typeof(SampleEnum ), 2);
在上面的行中,我想得到Two,而不是Test_Two
您可以为其创建Extension方法。
public static class EnumExtensions
{
public static string GetDisplayName(this Enum enumValue)
{
return enumValue.GetType()
.GetMember(enumValue.ToString())
.First()
.GetCustomAttribute<DisplayAttribute>()
?.GetName();
}
}
https://dnilvincent.com/blog/posts/how-to-get-enum-display-name-in-csharp-net