Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 14473|Відповідь: 2

[ASP.NET] Прості операції перепису

[Копіювати посилання]
Опубліковано 10.01.2019 09:58:32 | | | |
        /// <summary>
        Отримайте ім'я enum, виходячи з значення enum
        /// </summary>
        <typeparam name="T"></typeparam>
        <param name="key"></param>
        /// <returns></returns>
        публічний статичний рядок GetEnumNameByKey<T>(int key)
        {
            назва рядкаStr = рядок. Порожньо;
            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)
        {
            назва рядкаStr = рядок. Порожньо;
            var type = typeof(T);
            nameStr = Enum.GetName(type, t);
            повернути ім'яStr;
        }

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

            Повернення OBJ;
        }

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

        /// <summary>
        Конвертація enums у словникові колекції
        /// </summary>
        <typeparam name="T"> перераховувати типи</typeparam>
        /// <returns></returns>
        публічний статичний словник<рядковий, int> GetEnumDic<T>()
        {

            Словник<рядок, 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(key, 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