Example #1
0
        /// <summary>
        /// Gets whether the alias is set to the specified enum value.
        /// </summary>
        /// <param name="value">The enum value.</param>
        /// <returns>true if setted; otherwise, false.</returns>
        public bool HasAlias(TEnum value)
        {
            IEnumAliasInfo info = GetItemOrDefault(value);

            if (info != null && !string.IsNullOrEmpty(info.Alias))
            {
                return(true);
            }

            if (!IsFlag || EnumHelper.IsZero(value))
            {
                return(false);
            }

            IEnumAliasInfo[] infos = GetItemsOrDefault(value);

            if (infos == null && infos.Length == 0)
            {
                return(false);
            }

            for (int i = 0; i < infos.Length; ++i)
            {
                if (infos[i] != null && !string.IsNullOrEmpty(infos[i].Alias))
                {
                    return(true);
                }
            }

            return(false);
        }
Example #2
0
        /// <summary>
        /// Gets the alias of the specified enum value.
        /// </summary>
        /// <param name="value">The enum value.</param>
        /// <returns>The alias.</returns>
        public string GetAlias(TEnum value)
        {
            IEnumAliasInfo info = GetItemOrDefault(value);

            if (info != null && !string.IsNullOrEmpty(info.Alias))
            {
                return(info.Alias);
            }

            if (!IsFlag || EnumHelper.IsZero(value))
            {
                return(null);
            }

            IEnumAliasInfo[] infos = GetItemsOrDefault(value);

            if (infos == null || infos.Length == 0)
            {
                return(null);
            }

            StringBuilder sb = new StringBuilder();

            foreach (string alias in infos.Select(o => o.Alias).Where(o => !string.IsNullOrEmpty(o)))
            {
                if (sb.Length > 0)
                {
                    sb.Append(",");
                }
                sb.Append(alias);
            }

            return(sb.Length == 0 ? null : sb.ToString());
        }