Exemple #1
0
        /// <summary>
        /// Get attribute value.
        /// </summary>
        /// <typeparam name="TSource"></typeparam>
        /// <param name="enumValue"></param>
        /// <param name="attributeType"></param>
        /// <returns></returns>
        internal static string GetAttributeValue <TSource>(string enumValue, EnumAttributeTypes attributeType) where TSource : struct
        {
            TSource tValue;

            if (Enum.TryParse <TSource>(enumValue, true, out tValue))
            {
                if (attributeType.Equals(EnumAttributeTypes.Description))
                {
                    return(AttributeExtensions.GetDescriptionAttribute <TSource>(tValue));
                }
                else if (attributeType.Equals(EnumAttributeTypes.Category))
                {
                    return(AttributeExtensions.GetCategoryAttribute <TSource>(tValue));
                }
                else if (attributeType.Equals(EnumAttributeTypes.DisplayIcon))
                {
                    return(AttributeExtensions.GetDisplayIconAttribute <TSource>(tValue));
                }
                else if (attributeType.Equals(EnumAttributeTypes.ReportDefinition))
                {
                    return(AttributeExtensions.GetReportDefinitionAttribute <TSource>(tValue));
                }

                return(AttributeExtensions.GetDescriptionAttribute <TSource>(tValue));
            }
            else
            {
                return(null);
            }
        }