我现在有一些函数。
如:Login()、SendMessage()、Logout()
我现在要根据一个数值来调用它们:
如:1->Login();2->SendMessage();3->Logout();
这些函数很多,大概有30多个,以后还会有更多,所以不想用switch来做。
请问各位大侠怎么实现。
如:Login()、SendMessage()、Logout()
我现在要根据一个数值来调用它们:
如:1->Login();2->SendMessage();3->Logout();
这些函数很多,大概有30多个,以后还会有更多,所以不想用switch来做。
请问各位大侠怎么实现。
解决方案 »
- 求助!C#日期格式的处理(小白问题)
- 如何弄个Bat文件编译solution和拷贝文件到相关的目录
- 用户控件里的tooltip运行时不显示
- 50分求tabControl1.Controls.Add(this.tabPage1)的问题,在线等!
- C# 连接外网ACCESS
- ConvertDataReaderToDataTable转换时出错,为什么?
- winforn中,如何把PictureBox中的图片保存到数据库中??
- winform调用webservice超时问题.
- 关于抓取桌面程序界面内容
- 委托方法列表里面方法随机执行其中一个
- 双击datagridview任一单元格,弹出另外一个窗体,如何修改数据呢?
- using 语句的疑问?
{
case 1:
this.Login();
break;
case 2:
this.SendMessage();
break;
......
}
如:Delegate[] FunArray=new Delegate[]{Login,SendMessage,Logout}然后通过:FunArray[0]来调用Login()、FunArray[1]来调用SendMessage()、FunArray[2]来调用Logout()。也可以使用一个HashTable来存储委托,这样做的好处是数值可以不连续!具体的你自己去实现吧!
http://wzd24.cnblogs.com
delegate void funcdelegate();
void ResFunc(funcdelegate func, int i)
{
funcHt.Add(i, func);
}
void RunFunc(int i)
{
funcdelegate func = (funcdelegate)funcHt[i];
func();
}
void Test()
{
MessageBox.Show("test");
} private void button1_Click(object sender, EventArgs e)
{
ResFunc(Test, 1);
RunFunc(1);
}