Mi faccio un esempio semplice semplice...
Public Class Form1 Delegate Sub delegato() Dim metodo As delegato Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load metodo = AddressOf fai metodo() metodo = AddressOf esegui metodo() End Sub Sub esegui() MsgBox("eseguo") End Sub Sub fai() MsgBox("faccio") End Sub End ClassPraticamente delegato sarebbe una specie di puntatore che può puntare a tutti i metodi con la stessa firma.
Me ne faccio un altro con una firma un po' più complicata.
Public Class Form1 Delegate Sub delegato(ByVal stringa As String) Dim metodo As delegato Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load metodo = AddressOf fai metodo("faccio") metodo = AddressOf esegui metodo("eseguo") End Sub Sub esegui(ByVal stringa As String) MsgBox(stringa) End Sub Sub fai(ByVal stringa As String) MsgBox(stringa) End Sub End ClassIn questo caso la firma è diversa in quanto c'è il parametro stringa.
Nessun commento:
Posta un commento