C#獲得枚舉值實例


1.新建枚舉類

 public enum ActionType
    {
        /// <summary>
        /// 開
        /// </summary>
        [Description("開")]
        OPEN = 1,

        /// <summary>
        /// 關
        /// </summary>
        [Description("關")]
        CLOSE = 2,

        /// <summary>
        /// 移
        /// </summary>
        [Description("移")]
        MOVE = 2,
    }

 2.定義獲取枚舉值方法

        /// <summary>
        /// 根據傳入的int返回對應枚舉屬性名稱
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="num">進制</param>
        /// <returns></returns>
        public static string GetEnumName<T>(int value)
        {
            string name = "";
            name = Enum.Parse(typeof(T), Enum.GetName(typeof(T), value)).ToString();
            return name;
        }

        /// <summary>
        /// 根據傳入的枚舉屬性獲得對應值
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="value"></param>
        /// <returns></returns>
        public static int GetEnumValue<T>(string value)
        {
            Type type = typeof(T);
            var schoolId = Enum.Format(type, Enum.Parse(type, value.ToUpper()), "d");
            return Convert.ToInt32(schoolId);
        }

3.調用

 static void Main(string[] args)
        {
            string Name = GetEnumName<ActionType>(1);  // 根據傳入的屬性值返回對應枚舉屬性名稱
            int value = GetEnumValue<ActionType>("Open");  // 根據傳入的屬性名稱獲得對應值
            int value1 = (int)ActionType.OPEN;  // 直接使用枚舉類指定屬性值
            Console.WriteLine($"Name:{Name}");
            Console.WriteLine($"value:{value}");
            Console.WriteLine($"value:{value1}");
            Console.ReadLine();
        }

4.結果

 


免責聲明!

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



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