JavascriptProva

sabato 7 settembre 2013

Cercando di capire che accidenti sia il delegato.

Questo argomento dei delegati l'ho preso proprio in antipatia.
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 Class
Praticamente 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 Class
In questo caso la firma è diversa in quanto c'è il parametro stringa.

Nessun commento:

Posta un commento