Eventos en Visual Basic
Event, RaiseEvent y el cableado de AddHandler en una sola tetera.
Dim pot As New Kettle()
Dim onBoil = Sub(d As Integer) Console.WriteLine($"whistling at {d}C")
AddHandler pot.Boiled, onBoil
pot.Heat()
RemoveHandler pot.Boiled, onBoil
pot.Heat()
Console.WriteLine("silent this time")
Class Kettle
Public Event Boiled(degrees As Integer)
Public Sub Heat()
For temp = 60 To 100 Step 20
If temp = 100 Then RaiseEvent Boiled(temp)
Next
End Sub
End Class
Cómo funciona
Public Event Boiled(...)declara la señal y su firma.RaiseEventdispara cada manejador conectado en ese momento.AddHandlerconecta una lambda;RemoveHandlerdesconecta la misma.
Palabras clave y builtins usados aquí
AddHandlerClassDimEndEventForIfIntegerNewNextPublicRaiseEventRemoveHandlerStepSubThenTo
El intento, en números
- Líneas
- 18
- Caracteres a escribir
- 386
- Tokens
- 94
- Ritmo de tres estrellas
- 80 tpm
Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 70 segundos.
Paso 3 de 3 en Modismos de VB; paso 24 de 29 en Fundamentos del lenguaje.