Files
moadiran/Blazor.PersianDatePicker/Extensions/EnumExtensions.cs
mmrbnjd 3ca7f9deb0 ...
2024-05-16 23:40:32 +03:30

24 lines
761 B
C#

using System;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Reflection;
namespace Blazor.PersianDatePicker.Extensions
{
public static class EnumExtensions
{
public static string? ToEnumDisplayName(this Enum value, bool showEnumStringIfNoDisplayName = true)
{
if (value == null)
throw new ArgumentNullException(nameof(value));
var displayName = value.GetType()
.GetMember(value.ToString())
.First()
?.GetCustomAttributes<DisplayAttribute>()
.FirstOrDefault()
?.GetName();
return displayName ?? (showEnumStringIfNoDisplayName ? value.ToString() : null);
}
}
}