public static HtmlString AccountEnumDisplayNameFor(this AccountType item) { var type = item.GetType(); var member = type.GetMember(item.ToString()); DisplayAttribute displayName = (DisplayAttribute)member[0].GetCustomAttributes(typeof(DisplayAttribute), false).FirstOrDefault(); if (displayName != null) { return(new HtmlString(displayName.Name)); } return(new HtmlString(item.ToString())); }
/// <summary> /// Получение известных WMI-значений типов авторизации для сервиса /// </summary> /// <param name="type">Тип авторизации</param> /// <returns>Возвращает коллекцию Тип/Значение WMI</returns> public static IDictionary <AccountType, string> GetCommonValues(this AccountType type) { var eType = type.GetType(); var commonTypes = new Dictionary <AccountType, string>(); foreach (var val in eType.GetMembers()) { var attr = val.GetCustomAttribute <AccountTypeValueAttribute>(); if (attr != null) { commonTypes.Add((AccountType)Enum.Parse(eType, val.Name, false), attr.WMI_Value); } } return(commonTypes); }
/// <summary> /// Получение WMI-значения для текущего значения перечисления /// </summary> /// <param name="type">Значение перечисления</param> /// <returns>Вовращает значение аттрибута WMI для жанного поля или string.Empty</returns> public static string GetCommonValue(this AccountType type) { var eType = type.GetType(); var commonTypes = new Dictionary <AccountType, string>(); var stringVal = type.ToString(); foreach (var val in eType.GetMembers()) { if (val.Name.Equals(stringVal)) { var attr = val.GetCustomAttribute <AccountTypeValueAttribute>(); if (attr != null) { return(attr.WMI_Value); } } } return(""); }