/// <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); }
/// <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()); }