public int GetMemberCount(EnumMemberSelection selection) { switch (selection) { case EnumMemberSelection.All: case EnumMemberSelection.DisplayOrder: return(_valueMap.Count + (_duplicateValues?.Count ?? 0)); default: EnumHelper <EnumMemberSelection> .Validate(selection, nameof(selection)); if (EnumHelper <EnumMemberSelection> .HasAnyFlag(selection, EnumMemberSelection.Flags)) { return(GetFlagCount()); } return(EnumHelper <EnumMemberSelection> .HasAnyFlag(selection, EnumMemberSelection.Distinct) ? _valueMap.Count : 0); } }
public IEnumerable <EnumMemberInternal <TInt, TIntProvider> > GetMembers(EnumMemberSelection selection) { IEnumerable <EnumMemberInternal <TInt, TIntProvider> > members; switch (selection) { case EnumMemberSelection.All: #if DISPLAY_ATTRIBUTE case EnumMemberSelection.DisplayOrder: #endif members = _duplicateValues == null ? _valueMap.Values : GetMembersInternal(); break; default: selection.Validate(nameof(selection)); if (selection.HasAnyFlags(EnumMemberSelection.Flags)) { members = GetFlagMembers(AllFlags); } else if (selection.HasAnyFlags(EnumMemberSelection.Distinct)) { members = _valueMap.Values; } else { return(null); } break; } #if DISPLAY_ATTRIBUTE return(selection.HasAnyFlags(EnumMemberSelection.DisplayOrder) ? members.OrderBy(member => member.Attributes.Get <DisplayAttribute>()?.GetOrder() ?? int.MaxValue) : members); #else return(members); #endif }
public int GetMemberCount(EnumMemberSelection selection) { switch (selection) { case EnumMemberSelection.All: #if DISPLAY_ATTRIBUTE case EnumMemberSelection.DisplayOrder: #endif return(_valueMap.Count + (_duplicateValues?.Count ?? 0)); default: selection.Validate(nameof(selection)); if (selection.HasAnyFlags(EnumMemberSelection.Flags)) { return(GetFlagCount()); } if (selection.HasAnyFlags(EnumMemberSelection.Distinct)) { return(_valueMap.Count); } return(0); } }
public IEnumerable <EnumMember <TInt, TIntProvider> > GetMembers(EnumMemberSelection selection) { IEnumerable <EnumMember <TInt, TIntProvider> > members; switch (selection) { case EnumMemberSelection.All: case EnumMemberSelection.DisplayOrder: members = _duplicateValues == null ? _valueMap.Values : GetMembersInternal(); break; default: EnumHelper <EnumMemberSelection> .Validate(selection, nameof(selection)); if (EnumHelper <EnumMemberSelection> .HasAnyFlag(selection, EnumMemberSelection.Flags)) { members = GetFlagMembers(AllFlags); } else if (EnumHelper <EnumMemberSelection> .HasAnyFlag(selection, EnumMemberSelection.Distinct)) { members = _valueMap.Values; } else { return(null); } break; } return(EnumHelper <EnumMemberSelection> .HasAnyFlag(selection, EnumMemberSelection.DisplayOrder) ? members.OrderBy(member => member.Attributes.Get <DisplayAttribute>()?.GetOrder() ?? int.MaxValue) : members); }
/// <summary> /// Retrieves <paramref name="enumType"/>'s members' values in increasing value order. /// The parameter <paramref name="selection"/> indicates what members to include. /// </summary> /// <param name="enumType">The enum type.</param> /// <param name="selection">Indicates what members to include.</param> /// <returns><paramref name="enumType"/>'s members' values in increasing value order.</returns> /// <exception cref="ArgumentNullException"><paramref name="enumType"/> is <c>null</c>.</exception> /// <exception cref="ArgumentException"><paramref name="enumType"/> is not an enum type /// -or- /// <paramref name="selection"/> is an invalid value.</exception> public static IEnumerable<object> GetValues(Type enumType, EnumMemberSelection selection) => GetInfo(enumType).GetValues(selection);
public static IEnumerable <string> GetNames <TEnum>(EnumMemberSelection selection) => Enums.GetNamesUnsafe <TEnum>(selection);
public static int GetMemberCount(Type enumType, EnumMemberSelection selection = EnumMemberSelection.All) => GetCache(enumType).GetMemberCount(selection);
public IEnumerable <string> GetNames(EnumMemberSelection selection) => _cache.GetNames(selection);
public IEnumerable <EnumMember> GetMembers(EnumMemberSelection selection) { return(SelectEnumMembers(_cache.GetMembers(selection))); }
public int GetMemberCount(EnumMemberSelection selection) => _cache.GetMemberCount(selection);
[NotNull] IEnumerable <Enum> IEnumInfo.GetValues(EnumMemberSelection selection) { return(GetValues(selection)); }
public int GetCount(EnumMemberSelection selection) { return(_cache.GetMemberCount(selection)); }
public static IEnumerable <object> GetValues(Type enumType, EnumMemberSelection selection = EnumMemberSelection.All) => GetCache(enumType).GetValues(selection).GetNonGenericContainer();
public static IEnumerable <string> GetNames(Type enumType, EnumMemberSelection selection = EnumMemberSelection.All) => GetCache(enumType).GetNames(selection);
public static IEnumerable <EnumMember> GetMembers(Type enumType, EnumMemberSelection selection = EnumMemberSelection.All) => GetCache(enumType).GetMembers(selection);
IEnumerable <EnumMember> IEnumInfo.GetMembers(EnumMemberSelection selection) => GetMembers(selection) #if !COVARIANCE .Select(member => (EnumMember)member) #endif ;
public IEnumerable <string> GetDisplayNames(EnumMemberSelection selection) { return(_cache.GetDisplayNames(selection)); }
IEnumerable <object> IEnumInfo.GetValues(EnumMemberSelection selection) => SelectEnumObjects(GetValues(selection));
public Enum[] GetValues(EnumMemberSelection selection) { return(SelectEnumValues(_cache.GetValues(selection))); }
public IEnumerable <EnumMember <TEnum> > GetMembers(EnumMemberSelection selection) => SelectEnumMembers(_cache.GetMembers(selection));
public IEnumerable <string> GetNames(EnumMemberSelection selection) => GetMembers(selection).Select(member => member.Name);
public IEnumerable <TEnum> GetValues(EnumMemberSelection selection) => SelectEnumValues(_cache.GetValues(selection));
public static int GetMemberCount <TEnum>(EnumMemberSelection selection) => Enums.GetMemberCountUnsafe <TEnum>(selection);
public abstract IEnumerable <TEnum> GetValues(EnumMemberSelection selection = EnumMemberSelection.All);
public IEnumerable <string> GetDisplayNames(EnumMemberSelection selection) { return(GetMembers(selection).Select(member => member.DisplayName)); }
public IEnumerable <TInt> GetValues(EnumMemberSelection selection) => GetMembers(selection).Select(member => member.Value);
/// <summary> /// Retrieves <paramref name="enumType"/>'s member count. /// The parameter <paramref name="selection"/> indicates what members to include. /// </summary> /// <param name="enumType">The enum type.</param> /// <param name="selection">Indicates what members to include.</param> /// <returns><paramref name="enumType"/>'s member count.</returns> /// <exception cref="ArgumentNullException"><paramref name="enumType"/> is <c>null</c>.</exception> /// <exception cref="ArgumentException"><paramref name="enumType"/> is not an enum type /// -or- /// <paramref name="selection"/> is an invalid value.</exception> public static int GetMemberCount(Type enumType, EnumMemberSelection selection) => GetInfo(enumType).GetMemberCount(selection);
public static IEnumerable <EnumMember <TEnum> > GetMembers <TEnum>(EnumMemberSelection selection) => Enums.GetMembersUnsafe <TEnum>(selection);
/// <summary> /// Retrieves <paramref name="enumType"/>'s members in increasing value order. /// The parameter <paramref name="selection"/> indicates what members to include. /// </summary> /// <param name="enumType">The enum type.</param> /// <param name="selection">Indicates what members to include.</param> /// <returns><paramref name="enumType"/>'s members in increasing value order.</returns> /// <exception cref="ArgumentNullException"><paramref name="enumType"/> is <c>null</c>.</exception> /// <exception cref="ArgumentException"><paramref name="enumType"/> is not an enum type /// -or- /// <paramref name="selection"/> is an invalid value.</exception> public static IEnumerable<EnumMember> GetMembers(Type enumType, EnumMemberSelection selection) => GetInfo(enumType).GetMembers(selection);
public static IEnumerable <TEnum> GetValues <TEnum>(EnumMemberSelection selection) => Enums.GetValuesUnsafe <TEnum>(selection);
/// <summary> /// Retrieves <paramref name="enumType"/>'s members' names in increasing value order. /// The parameter <paramref name="selection"/> indicates what members to include. /// </summary> /// <param name="enumType">The enum type.</param> /// <param name="selection">Indicates what members to include.</param> /// <returns><paramref name="enumType"/>'s members' names in increasing value order.</returns> /// <exception cref="ArgumentNullException"><paramref name="enumType"/> is <c>null</c>.</exception> /// <exception cref="ArgumentException"><paramref name="enumType"/> is not an enum type /// -or- /// <paramref name="selection"/> is an invalid value.</exception> public static IEnumerable<string> GetNames(Type enumType, EnumMemberSelection selection) => GetInfo(enumType).GetNames(selection);