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"

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM