Invoke的使用小结
来源:互联网 发布:数据库置疑修复语句 编辑:程序博客网 时间:2024/06/01 18:57
有时为了不同情况下调用不同函数或者不同情况下调用函数的不同执行顺序,需要用到Invoke来绑定函数的定义,为了更好的理解这个绑定的使用,我大概简略地写了一个简单的test程序(C#),仅供参考,程序难免会有纰漏,欢迎指正。
using System.Reflection;
namespace testInvoke
{
public class testInvoke
{
private DataTable GetProcess(<某类型> Type)
{
DataTable dtProcess = new DataTable();
DataColumn col1 = new DataColumn("ADAPTERNAME");//函数名
DataColumn col2 = new DataColumn("ADAPTERPARAM");//函数所需参数
dtProcess.Columns.Add(col1);
dtProcess.Columns.Add(col2);
if (Type == ****)
{
dtProcess.Rows.Add(new Object[] { "Method1", null });
dtProcess.Rows.Add(new Object[] { "Method2", null });
dtProcess.Rows.Add(new Object[] { "Method3", null });
}
if(Type ==*****)
{
//其他Type时的dtProcess填充
}
private void RunProcess()
{
<类型> type;
//get Type
** type=*******;
DataTable dtProcess=GetProcess(type);
foreach (DataRow dr in dtProcess.Rows)
{
InvokeMethod(dr["ADAPTERNAME"].ToString(),dr["ADAPTERPARAM"]);
}
}
private void InvokeMethod(String name, String para)
{
MethodInfo m;
m = this.GetType().GetMethod(name, BindingFlags.Public | BindingFlags.Instance);
if (m.GetParameters().Length < 1)
m.Invoke(this, null);
else
m.Invoke(this, new Object[] { para });
}
Public void Method1()
{
/////////略
}
Public void Method2()
{
/////////略
}
Public void Method3()
{
/////////略
}
///others
}
}
- Invoke的使用小结
- ConstroInfo 的Invoke使用
- unity ~ Invoke的使用
- getDeclaredMethod、invoke的使用
- invoke的使用
- 关于Invoke的使用
- Invoke的使用
- Invoke或者BeginInvoke的使用
- Invoke或者BeginInvoke的使用
- Invoke和BeginInvoke的使用
- Invoke和BeginInvoke的使用
- 关于Control的Invoke方法的使用
- Method的invoke()方法的使用
- Method的invoke()方法的使用
- c#多线程 Invoke方法的使用
- c#多线程 Invoke方法的使用
- C#多线程 Invoke方法的使用收藏
- C#多线程 Invoke方法的使用收藏
- 线性表玩具之链表版本(C语言)
- 心算(手算)开平方,比较有用
- 线性表玩具之顺序表版本(C语言)
- 目前:菜鸟
- 检测点11.1
- Invoke的使用小结
- VPN技术的应用
- 字符串匹配算法:KMP学习心得
- 给一个日期,得出当月所有日期列表
- 单链表的操作C语言版
- 几个复杂指针类型的分析与对比
- C语言 全局变量和局部变量的大小限制
- 生成当天每隔n小时的时间列表
- 支持开源--破解envi代码发布--hierclust