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