命名空间: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,转载请注明出处!讨论可扫码加群:



少有人走的路



















