Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 14473|Ответ: 2

[ASP.NET] Простые операции перечисления

[Скопировать ссылку]
Опубликовано 10.01.2019 9:58:32 | | | |
        /// <summary>
        Получите имя enum, исходя из значения enum
        /// </summary>
        <typeparam name="T"></typeparam>
        <param name="ключ"></param>
        /// <returns></returns>
        публичная статическая строка GetEnumNameByKey<T>(int key)
        {
            string nameStr = строка. Пусто;
            var type = typeof(T);
            nameStr = Enum.GetName(type, key);
            вернуть имяStr;
        }

        /// <summary>
        Получите имя enum, исходя из значения enum
        /// </summary>
        <typeparam name="T"></typeparam>
        <param name="t"></param>
        /// <returns></returns>
        публичная статическая строка GetEnumNameByKey<T>(T t)
        {
            string nameStr = строка. Пусто;
            var type = typeof(T);
            nameStr = Enum.GetName(type, t);
            вернуть имяStr;
        }

        /// <summary>
        Строки преобразуются в типы энумов
        /// </summary>
        <typeparam name="T"></typeparam>
        <param name="str"></param>
        <param name="t"></param>
        /// <returns></returns>
        private static bool StringConvertToEnum <T>(string str, out T t), где T : new()
        {
            var obj = ложно;
            t = новый T();
            Попробуй
            {
                t = (T)Enum.Parse(typeof(T), str);
                obj = истинно;
            }
            catch (исключение, например)
            {
                obj = ложно;
            }

            Return obj;
        }

        /// <summary>
        Соберите коллекцию имён энумов
        /// </summary>
        <typeparam name="T"></typeparam>
        /// <returns></returns>
        публичная статическая строка[] GetNamesArr<T>()
        {
            return Enum.GetNames(typeof(T));
        }

        /// <summary>
        Преобразование enums в коллекции словарей
        /// </summary>
        <typeparam name="T"> перечислять типы</typeparam>
        /// <returns></returns>
        публичный статический словарь<строка, int> <T>GetEnumDic()
        {

            Словарь<строка, int> resultList = новый словарь<строка, int>();
            тип = typeof(T);
            var strList = GetNamesArr<T>(). ToList();
            foreach (string key в strList)
            {
                string val = Enum.Format(type, Enum.Parse(type, key), «d»);
                resultList.Add(ключ, int. Parse(val));
            }
            return resultList;
        }

        /// <summary>
        Получите описание параметров
        /// </summary>
        <typeparam name="T"></typeparam>
        <param name="t"></param>
        /// <returns></returns>
        публичная статическая строка <T>GetDescriptionByKey(T t)
        {
            var type = t.GetType();
            FieldInfo fieldInfo = тип. GetField(GetEnumNameByKey<T>(t));
            DescriptionAttribute attribute = Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute), false) как DescriptionAttribute;
            var Описание = атрибут. Описание;
            Описание возврата;
        }







Предыдущий:3-й класс А — С этого момента все становятся заложниками [японская драма] [720P] [Обновлено до 01]
Следующий:Реализация JS для загрузки файлов
Опубликовано 10.01.2019 10:10:07 |
Опубликовано 10.01.2019 10:11:33 |
Код программы Пожалуйста вставьте Добавить текст кода
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com