委托三个步骤

 

 1、声明委托   用Delegate 声明一个委托 类型  参数要和 被委托的方法一样  例如  Delegate Function a(byval x as string)  as string

 

2、实例化委托     dim  t as new a(AddressOf      Function Name)

 

3.通过t(参数)   或者  t.Invoke(参数调用委托)

 

 

Module module1

    Delegate Function a(ByVal x As Integer, ByVal y As Integer) As Integer    '声明委托类型 委托可以使一个对象调用另一个对象的方法

    Function sum(ByVal x As Integer, ByVal y As Integer) As Integer

        Return (x + y)

    End Function

    Sub main()

        Dim d As New a(AddressOf sum)  '实例化委托

        Dim s = 0

        s = d.Invoke(1, 2)    '执行委托

        Console.WriteLine(s.ToString())

        s = d(1, 2)    '执行委托

        Console.WriteLine(s.ToString())

 

        MsgBox("")

 

    End Sub

End Module

 

在UI中  比如说我们想用一个函数 处理 多个控件的单击事件 只需要在那个事件响应方法的后面加上 例如

 

handles button1.click   ,  button2.click  .....来实现  

 

摘自 yue7603835的专栏