当你的才华不能撑起你的野心时,就是你该选择学习的时候了!

C# Enum操作

枚举定义

        /// <summary>
        /// 节点类型
        /// </summary>
        public enum NodeTypeEnum
        {
            企业 = 1,
            人员 = 2,
            人员地址疑似 = 5,
            控股关系 = 6,
            参股 = 7,
            控股 = 11
        }


枚举操作方法

/// <summary>
        /// 获取枚举对应的值
        /// </summary>
        /// <typeparam name="T">枚举类型</typeparam>
        /// <param name="enumName">枚举对应值的名</param>
        /// <returns>枚举对象对应的值</returns>
        public static int GetEnumValue<T>(this object enumName)
        {

            return (int)enumName.GetEnumObj<T>();
        }

        /// <summary>
        /// 获取枚举对象
        /// </summary>
        /// <typeparam name="T">枚举类型</typeparam>
        /// <param name="enumName">枚举对应值的名</param>
        /// <returns>枚举对象</returns>
        private static object GetEnumObj<T>(this object enumName)
        {
            string enumNameValue = enumName.toString();
            return (T)Enum.Parse(typeof(T), enumNameValue);
        }

测试

            string edgeTypeName = Enum.GetName(typeof(EnterpriseEnum.EdgeTypeEnum), 1);
            //输出"投资"

            object obj = Enum.Parse(typeof(EnterpriseEnum.EdgeTypeEnum), "投资");
            //输出"投资"

            object obj2 = Enum.Parse(typeof(EnterpriseEnum.EdgeTypeEnum), "1");
            //输出"投资"

            var name = (EnterpriseEnum.EdgeTypeEnum)Enum.Parse(typeof(EnterpriseEnum.EdgeTypeEnum), "投资");
            //输出"投资"

            var val = (int)Enum.Parse(typeof(EnterpriseEnum.EdgeTypeEnum), "投资");
            //输出"1"

 

posted @ 2019-10-15 10:17  hofmann  阅读(1684)  评论(0编辑  收藏  举报