委托是CTS(公共类型系统)规定的5种类型之一(类类型、结构类型、接口类型、枚举类型、委托类型)它是一种类型可以用来调用其他对象的方法,也称为函数指针。其实在vb.net中委托也可以当做是可以用来共享其他对象的方法的对象。当程序必须通过调用一个方法来执行某个操作(调用某个方法),但在编译时不知道该方法是什么时,就可以使用委托。委托允许在程序运行时指定调用的方法,委托的特点是面向对象的,类型是安全的。
委托的使用:
首先创建一个委托:delegate {sub|function} DelegateType(参数1,参数2) 由于委托是一种类型所以在创建一个委托之后就是将它声明并实例化,第二步就是声明实例化委托并与对应方法绑定dim a as delegateType(Delegate sub),声明委托时注意它的参数类型与数量要跟创建的保持一致。第三就是用委托间接调用被委托的方法
例:
Public Class Form1
Delegate Sub fr(ByVal str As String) '创建一个委托
Dim a As New fr(AddressOf talk) '声明实例化委托并绑定被委托的方法:talk
Private Sub Form1_Load(By