返回列表 上一主題 發帖

VB.NET 委派(Delegate) 事件(Event)

VB.NET 委派(Delegate) 事件(Event)

委派(Delegate)

定義 Method 結構



定義

'定義委派  

2 Public Delegate Sub sayHello(ByVal thing As String)





主程式



view sourceprint?01 Imports mod08  

02   

03 Module TestHelloWorldDelegate  

04     Public Sub Main()  

05         '建構委派  

06         Dim handler As New sayHello(AddressOf engHelloWorld)  

07         '呼喚(喚醒)-同步   

08         handler.Invoke("eric")         

09     End Sub

10   

11     '給委派用的程序  

12     Private Sub engHelloWorld(ByVal s As String)  

13         System.Console.WriteLine(s + " Hello World!!!")  

14     End Sub

15 End Module

類別層級

主程式 應用程式層級 (Event)



view sourceprint?01 Public Class HelloWorld  

02     'Data field  

03     Private _msg As String

04     '事件  

05     Public Event myhandler As sayHello  

06     '屬性  

07     Public Property Msg() As String

08         Get

09             Return Me._msg  

10         End Get

11         Set(ByVal value As String)  

12             Me._msg = value  

13         End Set

14     End Property

15   

16     '引發事件的 method  

17     Public Sub Rasing(ByVal s As String)  

18         '引發事件->牽涉到應用系統所寫的事件程序(???)  

19         RaiseEvent myhandler(s)  

20     End Sub

21 End Class
view sourceprint?01 Module TestClassEvent  

02   

03     Public Sub Main()  

04         '建構物件  

05         Dim hello As New HelloWorld()  

06         '建立事件程序  

07         '管理員建立  

08         Dim handler As New sayHello(AddressOf HelloWorld)  

09         '聽物件的事件  

10         AddHandler hello.myhandler, handler  

11         '引發  

12         hello.Rasing("eric")  

13     End Sub

14   

15     '事件程序  

16     Private Sub HelloWorld(ByVal s As String)  

17         System.Console.WriteLine(s + " 世界和平!!")  

18     End Sub

19 End Module

mod08.rar
個人簽名@

因為是剛入門學寫程式,不太清楚委派和事件的使用時機,不知道是否可以指導一下二者使用的差別?

TOP

        靜思自在 : 虛空有盡.我願無窮,發願容易行願難。
返回列表 上一主題