Resultados 1 al 5 de 5
  1. #1

    Pregunta:Delegados y Eventos

    Buenas para todos!
    Armo este thread porque tengo dudas sobre dos conceptos importantes, éstos son los de Delegados y Eventos.
    Estudié, busqué y practiqué en C# (el lenguaje que medianamente entiendo) ambos conceptos, pero me cuesta mucho aún comprender cuándo usar uno y cuando el otro, por lo que evidentemente debo tener aún problemas conceptuales.
    Hasta donde entiendo los Delegados funcionan de callback de uno o varios métodos, y los Eventos funcionan como callback de los Event Handlers (manejadores de eventos). Mi problema es que, según entiendo, los manejadores de Eventos son...en definitiva...métodos. Entonces ¿cuándo utilizo unos y otros? Si alguien me hace la gauchada de explicármelo (en base a C#) se los agradeceré, porque son conceptos básicos y necesito tenerlos bien incorporados.
    "Una vez terminado el juego, el rey y el peón vuelven a la misma caja"

    "Ojo por Ojo...todos terminamos ciegos"
    Cita Iniciado por Piggy Ver Mensaje
    ...su líder llamado Micaiah. Su archienemigo el shampoo

  2. #2
    Programador Avatar de G Toyz
    Fecha de Ingreso
    16 mar, 17
    Ubicación
    Argentina, Buenos Aires.
    Mensajes
    133
    También necesitaría que alguien me detallase esto. Siempre me manejé en 2 lenguajes que sólo tienen un paradigma.

  3. #3
    Cita Iniciado por G Toyz Ver Mensaje
    También necesitaría que alguien me detallase esto. Siempre me manejé en 2 lenguajes que sólo tienen un paradigma.
    Buenas, te cuento a la conclusión que llegué yo. El evento tenés que tomarlo como algo inherente a la Clase (es, como la teoría indica una acción que sucede ej: click a un button <--evento click). Entonces ahí te hacés un evento (el evento Click en Visual ya viene predeterminado con los buttons) que debe coincidir con la firma del delegado (todo evento se construye a través de un delegado) y luego le agregás las Clases "suscriptoras" (o sea los métodos Manejadores de Eventos que se invocarán al suceder el evento) con el operador += Tip: los Eventos se levantan desde dentro de la propia Clase donde se implementaron.
    En cambio los Delegados se usan más que nada para agregarle varios métodos (que tengan el mismo tipo de "firma" que el delegado en cuestión), y después desde el delegado invocar a dichos métodos automáticamente, en vez de andar invocándolo uno a uno (los métodos pueden ser de distintas Clases, lo único que importa es que se respete la firma del delegado). Otro uso común que tienen es para pasar un método, como argumento, por parámetro de otro método (cosa que de otra manera sería imposible).
    Aclaración: todo esto es en base a C#, desconozco si se aplica de igual manera en VB o en otros lenguajes.
    P.D: Cualquier cosa que haya escrito y no te quedó clara tené total confianza en preguntarme que con gusto lo poquito que sé te lo intentaré compartir
    Abrazo!
    "Una vez terminado el juego, el rey y el peón vuelven a la misma caja"

    "Ojo por Ojo...todos terminamos ciegos"
    Cita Iniciado por Piggy Ver Mensaje
    ...su líder llamado Micaiah. Su archienemigo el shampoo

  4. #4
    Como soy bastante choto para explicar, y no quiero marear más de lo que ayudo dejo esto:

    http://csharpindepth.com/Articles/Chapter2/Events.aspx

  5. #5
    Cita Iniciado por Enter Sandman Ver Mensaje
    Como soy bastante choto para explicar, y no quiero marear más de lo que ayudo dejo esto:

    http://csharpindepth.com/Articles/Chapter2/Events.aspx
    Muchas gracias por el dato! Había leído toda info habida y por haber,pero no me quedaba claro cuándo usar uno u otro. Pero fue seguramente por falta de práctica con casos reales.

    Gracias nuevamente y suerte con tu proyecto!
    "Una vez terminado el juego, el rey y el peón vuelven a la misma caja"

    "Ojo por Ojo...todos terminamos ciegos"
    Cita Iniciado por Piggy Ver Mensaje
    ...su líder llamado Micaiah. Su archienemigo el shampoo



Thread Footer

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •