明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

Delegate的實(shí)際應(yīng)用。

[摘要]下面的代碼通過(guò)代表元Delegate簡(jiǎn)化代碼的編寫,在運(yùn)行時(shí)將調(diào)用不同的代表元方法,然后顯示相應(yīng)的運(yùn)行結(jié)果。 在VB.NET中,代表元Delegate有點(diǎn)類似C語(yǔ)言中的指針,也就是說(shuō)它允許用戶傳送一...
 下面的代碼通過(guò)代表元Delegate簡(jiǎn)化代碼的編寫,在運(yùn)行時(shí)將調(diào)用不同的代表元方法,然后顯示相應(yīng)的運(yùn)行結(jié)果。
 在VB.NET中,代表元Delegate有點(diǎn)類似C語(yǔ)言中的指針,也就是說(shuō)它允許用戶傳送一個(gè)進(jìn)程的引用,然后調(diào)用這些引用的進(jìn)程。這是一個(gè)強(qiáng)有力的編程技術(shù),它將允許用戶不再需要If或者是Select語(yǔ)句就可以調(diào)用相應(yīng)的進(jìn)程,這里的代表元起著橋梁的作用。
新建記事本,下面是代碼:

Imports System
Imports System.Windows.Forms
Public Module mymodule
Delegate Sub mydele(ByVal my1 As Int32, ByVal my2 As Int32)
Sub main()
Dim dele As mydele
dele = AddressOf my_add
dele.Invoke(10, 20)
dele = AddressOf my_sub
dele.Invoke(10, 20)
dele = AddressOf my_mul
dele.Invoke(10, 20)
dele = AddressOf my_div
dele.Invoke(10, 20)
End Sub
Public Sub my_add(ByVal num1 As Int32, ByVal num2 As Int32)
MessageBox.Show("Add:" & (num1 + num2).ToString, "你好", MessageBoxButtons.OK)
End Sub

Public Sub my_sub(ByVal num1 As Int32, ByVal num2 As Int32)
MessageBox.Show("Add:" & (num1 - num2).ToString)
End Sub

Public Sub my_mul(ByVal num1 As Int32, ByVal num2 As Int32)
MessageBox.Show("Add:" & (num1 * num2).ToString)
End Sub

Public Sub my_div(ByVal num1 As Int32, ByVal num2 As Int32)
MessageBox.Show("Add:" & (num1 / num2).ToString)
End Sub

以Delegate.vb保存。
然后編譯:
vbc /r:System.dll /r:System.Windows.forms.dll Delegate.vb
最后看結(jié)果就行了:)