Il blog di Emilio Scaccaglia

Dedicato al VB ed al VBA
posts - 165, comments - 3058, trackbacks - 1

Ancora una volta Delegate

Con "Delegate" si intende un tipo di dato che é in grado di "puntare" ad un metodo. Il delegate assomiglia ai puntatori a funzione del linguaggio C, per chi conosce questo linguaggio di programmazione. La dichiarazione di un Delegate è la seguente: Delegate [Function/Sub] Nome(elenco parametri) Praticamente se volessimo creare un Delegate di nome mioDelegate che "punta" ad una funzione che possiede un parametro di tipo intero, potremmo scrivere così: Delegate Sub mioDelegate(ByVal k as Integer) Un semplice esempio Ammettiamo l'esistenza di una classe con nome miaClasse e che questa contenga un metodo denominato mioMetodo che a sua volta abbia due parametri, uno intero e l'altro di tipo stringa, vogliamo creare un Delegate che punti a tale metodo: Class miaClasse Public Sub mioMetodo(ByVal k As Integer, ByVal str As String) Dim I As Integer For i = 0 To k MessageBox.Show(str) Next End Sub End Class 'Dichiaro il delegate Delegate Sub mioDelegate(ByVal Intero As Integer, ByVal Stringa As String) 'richiamare il metodo "mioMetodo" usando al suo posto il Delegate "mioDelegate" 'istanzio un oggetto di tipo miaClasse Dim mioOggetto as New miaClasse 'creo una istanza del Delegate Dim istDelegate As mioDelegate = AddressOf mioOggetto.mioMetodo 'chiamo il metodo usando il Delegate istDelegate.Invoke(3, "La mia Stringa") L'esempio mostrerà 3 MessageBox con la scritta "La mia stringa"

Print | posted on sabato 21 settembre 2013 14:25 | Filed Under [ Emilio Scaccaglia, I miei software ]

Powered by:
Powered By Subtext Powered By ASP.NET