Ir a contenido


MENSAJE DE BIENVENIDA Foro vínculado con Twitter, más info aquí.

“El secreto para progresar es empezar por algún lugar. El secreto para empezar por algún lugar es fragmentar tus complejas y abrumadoras tareas de tal manera que queden convertidas en pequeñas tareas que puedas realizar y entonces simplemente comenzar por la primera.” - Mark Twain

Foto

Delegados y Eventos en Visual Basic


  • Please log in to reply
2 replies to this topic

#1 Alberto Dominguez

Alberto Dominguez

    Gurú

  • Administradores
  • 1.059 Mensajes:
  • LocationMadrid

Escrito 24 septiembre 2010 - 06:13

Ejemplo de Delegado (puntero a un método) en Visual Basic:

Public Delegate Sub Prueba(ByVal Texto As String)

Module Module1

    Sub Main()
        Dim op As Prueba
        'Instanciamos el delegado y lo apuntamos al metodo Probando
        op = New Prueba(AddressOf Probando)
        op("Hola Mundo")
        Console.ReadLine()
    End Sub

    'Metodo al que apunta el Delegado
    Sub Probando(ByVal Texto As String)
        Console.WriteLine("Estamos probando delegados")
    End Sub

End Module

Saludos,

Alberto Dominguez

Enterprise Architect y Trainer
MCT, MCPD, MCITP, MCITP Dynamics, MCSE, MCSA, MCTS, MCP...
ITIL V3 Foundation Qualification in IT Service Management
Imagen enviadaPerfil Profesional Imagen enviadaTwitter
Imagen enviadaImagen enviadaImagen enviadaImagen enviada

#2 Alberto Dominguez

Alberto Dominguez

    Gurú

  • Administradores
  • 1.059 Mensajes:
  • LocationMadrid

Escrito 24 septiembre 2010 - 06:28

Usando delegados como eventos:

'Declaramos un tipo delegado
Public Delegate Sub ManejadorTemperatura(ByVal Texto As String)

Public Class Temperatura
    Public EventoX As ManejadorTemperatura
    Public Sub DispararEvento()
        EventoX("Disparando Evento") 'Disparando Evento
    End Sub
End Class
Module Module1
    Sub Main()
        Dim Temperatura1 As New Temperatura
        'Suscribiendonos al Evento
        Temperatura1.EventoX = New ManejadorTemperatura(AddressOf OnEventoX)
        'Ejecutando método que dispara el Evento
        Temperatura1.DispararEvento()
        Console.ReadLine()
    End Sub

    'Metodo al que apunta el Delegado
    Sub OnEventoX(ByVal Texto As String)
        Console.WriteLine(Texto)
    End Sub

End Module

Saludos,

Alberto Dominguez

Enterprise Architect y Trainer
MCT, MCPD, MCITP, MCITP Dynamics, MCSE, MCSA, MCTS, MCP...
ITIL V3 Foundation Qualification in IT Service Management
Imagen enviadaPerfil Profesional Imagen enviadaTwitter
Imagen enviadaImagen enviadaImagen enviadaImagen enviada

#3 Alberto Dominguez

Alberto Dominguez

    Gurú

  • Administradores
  • 1.059 Mensajes:
  • LocationMadrid

Escrito 24 septiembre 2010 - 06:38

Lo mismo pero con Eventos:

Public Class Temperatura
    Public Event EventoX(ByVal Texto As String)
    Public Sub DispararEvento()
        RaiseEvent EventoX("Disparando Evento") 'Disparando Evento
    End Sub
End Class


Module Module1
    Dim WithEvents Temperatura1 As New Temperatura
    Sub Main()
        'Ejecutando método que dispara el Evento
        Temperatura1.DispararEvento()
        Console.ReadLine()
    End Sub

    'Metodo al que apunta el Evento
    Sub OnEventoX(ByVal Texto As String) Handles Temperatura1.EventoX
        Console.WriteLine(Texto)
    End Sub

End Module

Saludos,

Alberto Dominguez

Enterprise Architect y Trainer
MCT, MCPD, MCITP, MCITP Dynamics, MCSE, MCSA, MCTS, MCP...
ITIL V3 Foundation Qualification in IT Service Management
Imagen enviadaPerfil Profesional Imagen enviadaTwitter
Imagen enviadaImagen enviadaImagen enviadaImagen enviada




0 usuarios están leyendo este tema

0 miembro/s, 0 invitado/s, 0 usuario/s anónimo/s