/// <summary> /// Get the SystemEnumList from given Enum type /// </summary> /// <param name="objEnumType">Enum Type like typeof(EnumType)</param> /// <returns>List of Enum with Name Value pair</returns> public static SystemEnumList GetEnumList(Type objEnumType) { Array values = Enum.GetValues(objEnumType); SystemEnumList lstEnum = new SystemEnumList(); SystemEnum objEnum; for (int i = 0; i < values.Length; i++) { objEnum = new SystemEnum(); objEnum.ID = values.GetValue(i).GetHashCode(); objEnum.Name = Convert.ToString(values.GetValue(i), CultureInfo.CurrentCulture).Replace("_", " "); objEnum.Description = string.Empty; objEnum.DisplayName = string.Empty; var memInfo = objEnumType.GetMember(Convert.ToString(values.GetValue(i), CultureInfo.CurrentCulture)); var attributes = memInfo[0].GetCustomAttributes(typeof(DescriptionAttribute), false); if (attributes.Count() > 0) { objEnum.Description = ((DescriptionAttribute)attributes[0]).Description; } var memInfoDisplayName = objEnumType.GetMember(Convert.ToString(values.GetValue(i), CultureInfo.CurrentCulture)); var attributesDisplayName = memInfoDisplayName[0].GetCustomAttributes(typeof(DisplayAttribute), false); if (attributesDisplayName.Count() > 0) { objEnum.DisplayName = ((DisplayAttribute)attributesDisplayName[0]).Name; } lstEnum.Add(objEnum); } return(lstEnum); }
/// <summary> /// Get the Enum Name from Enum Value /// </summary> /// <param name="objEnumType">Enum Type like typeof(EnumType)</param> /// <param name="value">enum value</param> /// <returns>string - Name of Enum</returns> public static string GetEnumName(Type objEnumType, int value) { SystemEnumList lstEnum = GetEnumList(objEnumType); SystemEnum objSystemEnum; objSystemEnum = lstEnum.Find(delegate(SystemEnum systemEnum) { return(systemEnum.ID == value); }); if (objSystemEnum != null) { return(objSystemEnum.Name); } else { return(string.Empty); } }