博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
把Enum与Int32、String的相互转换的代码
阅读量:6807 次
发布时间:2019-06-26

本文共 1172 字,大约阅读时间需要 3 分钟。

平时我们须要把Enum类型与int(或者string)类型进行相互转换,利用下面的泛型编程,可以处理所有情况了。

 
  1. public static class EnumHelper2<T> 
  2.     public static String Enum2String(T value) 
  3.     { 
  4.         return value.ToString(); 
  5.     } 
  6.  
  7.     public static T String2Enum(string value, bool ignoreCase) 
  8.     { 
  9.         return (T)Enum.Parse(typeof(T), value, ignoreCase); 
  10.     } 
  11.  
  12.     public static int Enum2Int(T value) 
  13.     { 
  14.         return Convert.ToInt32(value); 
  15.     } 
  16.  
  17.     public static T Int2Enum(int value) 
  18.     { 
  19.         if (Enum.IsDefined(typeof(T), value)) 
  20.             return (T)Enum.ToObject(typeof(T), value); 
  21.         else 
  22.             throw new Exception(value + " is not defined"); 
  23.     } 
  24.  
  25. public static class EnumHelper 
  26.     public static int ToInt32<T>(T value) 
  27.     { 
  28.         return Convert.ToInt32(value); 
  29.     } 
  30.  
  31.     public static T FromInt32<T>(int value) 
  32.     { 
  33.         return (T)Enum.ToObject(typeof(T), value); 
  34.     } 
  35.  
  36.     public static T Parse<T>(string value, bool ignoreCase) 
  37.     { 
  38.         if (Enum.IsDefined(typeof(T), value)) 
  39.             return (T)Enum.Parse(typeof(T), value, ignoreCase); 
  40.         else 
  41.             throw new Exception(value + " is not defined"); 
  42.     } 
  43.  
  44.     public static T Parse<T>(int value) 
  45.     { 
  46.         if (Enum.IsDefined(typeof(T), value)) 
  47.             return (T)Enum.ToObject(typeof(T), value); 
  48.         else 
  49.             throw new Exception(value + " is not defined"); 
  50.     } 
本文转自 h2appy  51CTO博客,原文链接:http://blog.51cto.com/h2appy/412021,如需转载请自行联系原作者
你可能感兴趣的文章
网线的做法 及 POE的介绍
查看>>
回忆——我对方向的选择
查看>>
Microsoft 安全公告 MS12-020 - 严重。请大家关注!!
查看>>
goto到2014
查看>>
Cocos2d-x Eclipse下程序运行产生错误Effect initCheck() returned -1
查看>>
2012年中国系统架构师大会 即将开幕
查看>>
powershell命令大全
查看>>
阿里云开发者大赛记事
查看>>
老男孩linux运维培训中级班开课前讲稿
查看>>
Exchange Server 2013部署系列之一:部署环境介绍
查看>>
以德服人——合格的产品经理
查看>>
正视苦难,民族的心灵史——1942
查看>>
厉害了word华为,“万元机”背后是中国品牌的胜利
查看>>
nfs 挂载
查看>>
因为机遇,不会轻易悲伤
查看>>
我眼中的2011年互联网大事记
查看>>
浪潮存储进逼国际一线厂商
查看>>
整理发布一些关于VMware vSphere的文档
查看>>
TCP/IP协议栈中,为什么选择IP层负责分片?
查看>>
使用Sphinx对MySQL数据库进行全文检索
查看>>