Example #1
0
 public static TAttribute GetEnumAttribute <[EnumConstraint] TEnum, TAttribute>(this TEnum value)
     where TAttribute : Attribute
 {
     return(value.GetType()
            .GetMember(value.ToString())
            .First()
            .GetCustomAttribute <TAttribute>());
 }
        public static string SetNullableValue <TEnum>(TEnum?enumValue) where TEnum : struct
        {
            if (enumValue.HasValue)
            {
                int val = (int)Enum.Parse(typeof(TEnum), enumValue.Value.ToString());
                if (val < 0)
                {
                    return(null);
                }
            }

            return(enumValue?.ToString() ?? null);
        }
Example #3
0
        public static string ToString <[EnumConstraint] TEnum>(TEnum enumValue, DisplayType displayType)
        {
            switch (displayType)
            {
            case DisplayType.Value:
                return(enumValue.ToString());

            case DisplayType.DisplayName:
                return(enumValue.GetEnumAttribute <TEnum, DisplayAttribute>().Name);

            case DisplayType.Description:
                return(enumValue.GetEnumAttribute <TEnum, DescriptionAttribute>().Description);

            case DisplayType.ResourceDisplayName:

                DisplayAttribute displayAttribute = enumValue.GetEnumAttribute <TEnum, DisplayAttribute>();
                ResourceManager  resManager       = new ResourceManager(displayAttribute.ResourceType);
                return(resManager.GetString(displayAttribute.Name));

            default:
                return(string.Empty);
            }
        }