命名空间:sharClass.enumHelper
功能:枚举对象操作
功能详细说明:
枚举对象在编程中比较常见,它的好处在于:有助于提高代码的可阅读性。
enumHelper类封装了编程中常见的一些诸如字符串转枚举值、数值转枚举值、遍历枚举项等一些功能函数。省去童鞋们去查百度的时间。
常用函数列表:
/// 两个枚举变量相加。(先是值相加,然后再把值转枚举,转换失败会抛异常) public T Add(T data1,T data2) /// 1个枚举变量和一个数值相加。(先是值相加,然后再把值转枚举,转换失败会抛异常) public T Add(T data1,int data2) /// 两个枚举变量相减 public T Sub(T data1, T data2) /// 1个枚举变量减去一个数值 public T Sub(T data1, int data2) /// 取枚举元素数量 public int getEnumCount() /// 取枚举项组成的字符串,逗号分隔 public string getEnumItemString() /// 得到枚举项字符串数组 public string[] getEnumItemArray() /// 枚举转字符串 public string valueToString(T data) /// 返回枚举Names列表 public List<string> getNames() /// 枚举转值 public int enumToValue(T data) /// 字符串转枚举 public T stringToEnum(string v) /// 字符串转值 public int stringToValue(string v) /// 值转枚举 public T valueToEnum(int v) /// 值转字符串 public string valueToString(int v) /// 遍历枚举的所有元素,执行Action,action传入枚举项字符串 public void forEachEnumItem(Action<string> act) /// 遍历枚举的所有元素,执行Action,action传入枚举项 public void forEachEnumItemT(Action<T> act)
参考例子:
using sharClass; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace enumHelperTest { public partial class Form1 : Form { public enum workDataFieldNamesEnum { 产品SN, 视觉检测结果, 工位, 生产数据, 记录时间 } public enum workSiteNameEnum { 扫码工位, 看TCO位置工位, 焊点检测工位 } public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.comboBox2.DataSource = new enumHelper<workSiteNameEnum>().getEnumItemArray(); this.listBox1.DataSource = new enumHelper<workDataFieldNamesEnum>().getEnumItemArray(); } private void button1_Click(object sender, EventArgs e) { //值转枚举字符串 结果:“扫码工位” string s1 = new enumHelper<workSiteNameEnum>().valueToString(0); //值转枚举 结果:true bool s2 = new enumHelper<workSiteNameEnum>().valueToEnum(0)==workSiteNameEnum.扫码工位; //字符串转枚举 结果:true bool s3 = new enumHelper<workSiteNameEnum>().stringToEnum("扫码工位") == workSiteNameEnum.扫码工位; //遍历枚举元素(字符串),执行action new enumHelper<workSiteNameEnum>().forEachEnumItem((s) => { richTextBox1.AppendText((s == "焊点检测工位").ToString()+" " +s + Environment.NewLine); }); richTextBox1.AppendText("================\r\n"); //遍历枚举元素(枚举元素),执行action new enumHelper<workSiteNameEnum>().forEachEnumItemT((s) => { richTextBox1.AppendText((s == workSiteNameEnum.焊点检测工位).ToString() + " " + s.ToString() + Environment.NewLine); }); } } }
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!
本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:


