如何获取枚举显示名称



我在下面的示例中定义了一个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

最新更新