using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; namespace Win_in.Sfs.Shared.Domain.Shared; public static class EnumExtensions { public static string GetDisplayName(this Enum enumObj) { var type = enumObj.GetType(); var member = type.GetMember(enumObj.ToString()); if (member.Length <= 0) { return enumObj.ToString(); } var attributes = member.First().GetCustomAttributes(typeof(DisplayAttribute), false); return attributes.Length > 0 ? ((DisplayAttribute)attributes[0]).Name : enumObj.ToString(); } public static List GetEnumList(this string strEnums, string separator) where T : Enum { var enumList = new List(); if (string.IsNullOrEmpty(strEnums)) { return enumList; } var strArray = strEnums.Split(separator); foreach (var str in strArray) { if (Enum.TryParse(typeof(T), str, true, out var locationType)) { enumList.Add((T)locationType); } } return enumList; } }