Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 14473|Odpověď: 2

[ASP.NET] Jednoduché výčtové operace

[Kopírovat odkaz]
Zveřejněno 10.01.2019 9:58:32 | | | |
        /// <summary>
        Získejte název enum podle hodnoty enum
        /// </summary>
        <typeparam jméno="T"></typeparam>
        <název parametru="klíč"></param>
        /// <returns></returns>
        public static string GetEnumNameByKey<T>(int key)
        {
            název řetězce Str = řetězec. Prázdné;
            var type = typeof(T);
            nameStr = Enum.GetName(type, key);
            vrátit jménoStr;
        }

        /// <summary>
        Získejte název enum podle hodnoty enum
        /// </summary>
        <typeparam jméno="T"></typeparam>
        <název parametru="t"></param>
        /// <returns></returns>
        public static string GetEnumNameByKey<T>(T t)
        {
            název řetězce Str = řetězec. Prázdné;
            var type = typeof(T);
            nameStr = Enum.GetName(type, t);
            vrátit jménoStr;
        }

        /// <summary>
        Struny se převádějí na enum typy
        /// </summary>
        <typeparam jméno="T"></typeparam>
        <název parametru="str"></param>
        <název parametru="t"></param>
        /// <returns></returns>
        private static bool StringConvertToEnum<T>(string str, out T t) kde T : new()
        {
            var obj = nepravdivý;
            t = nový T();
            zkus
            {
                t = (T)Enum.Parse(typeof(T), str);
                obj = pravda;
            }
            chytit (Výjimka ex)
            {
                obj = nepravdivý;
            }

            return objekt;
        }

        /// <summary>
        Získejte sbírku jmen enum
        /// </summary>
        <typeparam jméno="T"></typeparam>
        /// <returns></returns>
        veřejný statický řetězec[] GetNamesArr<T>()
        {
            return Enum.GetNames(typeof(T));
        }

        /// <summary>
        Převádět enumy na sbírky slovníků
        /// </summary>
        <typeparam jméno="T"> enumerátové typy</typeparam>
        /// <returns></returns>
        public static Dictionary<string, int> GetEnumDic<T>()
        {

            Dictionary<string, int> resultList = nový Dictionary<string, int>();
            typ = typ(T);
            var strList = GetNamesArr<T>(). ToList();
            foreach (stringový klíč ve strList)
            {
                string val = Enum.Format(type, Enum.Parse(type, key), "d");
                resultList.Add(key, int. Parse(val));
            }
            vrátit resultList;
        }

        /// <summary>
        Získejte popis parametrů
        /// </summary>
        <typeparam jméno="T"></typeparam>
        <název parametru="t"></param>
        /// <returns></returns>
        public static string GetDescriptionByKey<T>(T t)
        {
            var type = t.GetType();
            FieldInfo fieldInfo = typ. GetField(GetEnumNameByKey<T>(t));
            DescriptionAttribute attribute = Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute), false) jako DescriptionAttribute;
            var Popis = atribut. Popis;
            return Popis;
        }







Předchozí:3. ročník třídy A - Od teď jsou všichni rukojmími [japonské drama] [720P] [Aktualizováno na 01]
Další:js implementace ke stažení souborů
Zveřejněno 10.01.2019 10:10:07 |
Zveřejněno 10.01.2019 10:11:33 |
Prosím, vložte kód Přidejte text kódu
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com