|
|
|
|
|
Dicas
|
|
Visual Basic.Net (Miscelâneas)
|
|
|
Título da Dica: Delegates no VB.NET
|
|
|
|
Postada em 9/10/2003 por ~Ð@®£@Ñ
Delegates é provavelmente um dos features mais poderosos que o .NET introduziu no C#, VB.NET ou outra linguagem. Delegates funcionam da mesma forma que os ponteiros de funções em c++ mas eles são type-safe. Delegates podem ser usados de várias formas, o exemplo abaixo mostra o uso de delegates como ponteiros de funções.
Option Strict Off 'This Option tells the compiler not to check Type conversions Imports system Imports microsoft.visualbasic Class MyDelegate Delegate Sub dg()
Shared Sub main() 'Declare variables of delegate type Dim i dg 'make i point the sub Hi i = AddressOf Hi i
End Sub
Shared Sub Hi() msgbox("Hi") End Sub End Class
Este código quando compilado e rodado resultará em uma message box mostrando "HI" Delegates pode também apontar para duas funções.
Option Strict Off 'This Option tells the compiler not to check Type conversions Imports system Imports microsoft.visualbasic Class MyDelegate Delegate Sub dg()
Shared Sub main() 'Declare variables of delegate type Dim i, a, y As dg 'make i point the sub Hi i = AddressOf Hi 'make a point to Bye a = AddressOf Bye 'combine the two delegates y = System.Delegate.Combine(i, a) 'invoke the delegate y() End Sub
Shared Sub Hi() msgbox("Hi") End Sub
Shared Sub Bye() msgbox("Bye") End Sub
End Class
Este código quando compilado e rodado resultará em 2 message boxes chamadas pelo mesmo delegate y().
|
|
|
|
|