实现过程:
1,定义、声明回调:
private delegate void DoSomeCallback(type para);
DoSomeCallback doSomeCallback;//其实就是一个委托的定义和生命过程
2,初始化回调方法:
doSomeCallback=new DoSomeCallback(DoSomeMethod);//实际上就是实例化一个委托
//或者:doSomeCallback=DoSomeMethod;//直接将其声明部分和回调方法体写在一起,使代码更紧凑
其中 DoSomeCallback 为回调方法,其封装了另一线程中目标对象的操作代码.
3,触发动作对象:
Opt obj.Invoke(doSomeCallback,arg);
其中Opt obj 为目标操作对象
例如:
__txtText.Invoke(doSomeCallback,arg);
private void DoSomeMethod(type para)
{
//方法体
...
Opt obj.someMethod(para);
...
}
回调、委托和多线程经常要综合起来使用,作为网络编程的常用特性,要牢牢掌握这三者的用法。
2015年3月4日