예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
            }
        }