枚举定义
/// <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"