vb.net 委托Delegate 的简单实现任务回调
- 原创
- |
- 浏览:4362
- |
- 更新:
什么叫委托,简单的说就是java里面的回调,举例说,你要叫别人去做一个任务,你委托给他,不用你主动去问做的怎么样了,而是直接等别人做完了,别人直接通知你委托的任务完成了,以及把结果告诉你。这种经常用于时间较长的任务,返回结果直接更新界面
方法/步骤
首先新建个vb.net的工程,然后建一个delegate_sy.vb的class类文件
- 该信息未经授权抓取自百度经验
在这个类里面添加一行代码:
Public Delegate Sub callbackmanager(name As String) '定义委托
在新建添加第二个类employee_sy.vb
在employee_sy.vb这个类里添加如下代码:
Dim mycallback As delegate_sy.callbackmanager '声明委托,也就是这个类的属性
Public Sub registerdeleagate(callbackmanage As delegate_sy.callbackmanager)
'调用这个方法开启委托,参数为委托的任务
mycallback = callbackmanage '传值给这个类的委托
End Sub
Public Sub counsum(num As Integer, name As String)
'委托任务完成的触发事件,参数为任务结果
mycallback.Invoke(name)
'invoke(触发)
End Sub
现在就可以使用这个委托了,在主窗体添加load(窗体加载)事件写开启委托的代码:
my_emp.registerdeleagate(New delegate_sy.callbackmanager(AddressOf callme))
定义一个callme()为接受委托的结果,并将结果处理的函数
点击事件为告诉委托已经完成
具体代码如图
点击lable1,告诉程序委托完成
处理委托的结果显示出来,到此对Delegate的基本使用就完成了
END













