Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Module Module1
- Delegate Sub InterruttorePremutoDelegate()
- ' FIRMA STANDARD DI UN EVENTO DOTNET
- Delegate Sub EventHandler(sender As Object, e As EventArgs)
- Class Interruttore
- Public Property Nome As String
- Public Event Click As InterruttorePremutoDelegate
- Public Sub Premi()
- Console.WriteLine("Qualcuno preme sull'interruttore {0}", Nome)
- RaiseEvent Click()
- End Sub
- End Class
- Class Lampadina
- Public Property Nome As String
- Public Property Accesa As Boolean
- Public Sub GestoreClickSuInterruttore()
- Accesa = Not Accesa
- ' If Accesa Then Write("Accesa") Else Write("SPENTA")
- Console.WriteLine("La lampadina {1} è {0}",
- IIf(Accesa, "Accesa", "Spenta"),
- Nome)
- End Sub
- End Class
- Sub GestoreClick()
- Console.WriteLine("La lampadina si accende e si spegne")
- End Sub
- Sub Main()
- Dim s As New Interruttore With {.Nome = "Cucina"}
- 's.Click = AddressOf GestoreClick
- s.Premi()
- s.Premi()
- Dim l As New Lampadina With {.Nome = "Cucina"}
- AddHandler s.Click, AddressOf l.GestoreClickSuInterruttore
- s.Premi()
- Dim c As New Lampadina With {.Nome = "Corridoio"}
- AddHandler s.Click, AddressOf c.GestoreClickSuInterruttore
- s.Premi()
- s.Premi()
- Console.WriteLine("Disconnetto la lampadina della cucina")
- RemoveHandler s.Click, AddressOf l.GestoreClickSuInterruttore
- s.Premi()
- s.Premi()
- Console.ReadLine()
- End Sub
- End Module
Add Comment
Please, Sign In to add comment