枚舉定義
/// <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"