delegado o evento

04/10/2006 - 15:46 por ernesto | Informe spam
¿Hay alguna diferencia entre usar un delegado o evento en este ejemplo?
¿Cuál sería mejor?

Es un simple código de ejemplo y nada en concreto, solo una prueba con
delegados y eventos

Con delegados:-
class Clase{
public delegate void delegado();
public delegado informar;

}
class Ejemplo{
...
Clase x = new Clase();
//se supone que la clase tiene un método estático Mostrar
x.informar = Ejemplo.Mostrar;
...
}

Con eventos--
class Clase{
public delegate void delegado();
public event delegado informar;

}
class Ejemplo{
...
Clase x = new Clase();
//se supone que la clase tiene un método estático Mostrar
x.informar += Ejemplo.Mostrar;
...
}

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
04/10/2006 - 17:04 | Informe spam
"ernesto" wrote in message
news:%
¿Hay alguna diferencia entre usar un delegado o evento en este ejemplo?
¿Cuál sería mejor?



Los dos son prácticamente equivalentes. Se puede hacer lo mismo con
delegados y con eventos, y de hecho los eventos se apoyan sobre delegados
para definirlos. Tradicionalmente se viene utilizando un evento cuando se
quiere que una clase lo exponga públicamente y sean los consumidores de esa
clase los que realizan la conexión del evento con un método (se "suscriben"
al evento). En cambio se usa un delegado cuando la conexión se realiza al
revés, es decir, alguien le pasa un delegado ya inicializado a una clase que
lo consume (por ejemplo, como argumento de una rutina, para que esta rutina
le haga llamadas). ¿Qué pasa si los usas al revés? Pues nada, que funciona
perfectamente, pero el código resulta quizás un poco menos legible porque no
es la forma en que habitualmente se suele operar.
Respuesta Responder a este mensaje
#2 ernesto
04/10/2006 - 20:50 | Informe spam
gracias

"Alberto Poblacion"
escribió en el mensaje news:
"ernesto" wrote in message
news:%
¿Hay alguna diferencia entre usar un delegado o evento en este ejemplo?
¿Cuál sería mejor?



Los dos son prácticamente equivalentes. Se puede hacer lo mismo con
delegados y con eventos, y de hecho los eventos se apoyan sobre delegados
para definirlos. Tradicionalmente se viene utilizando un evento cuando se
quiere que una clase lo exponga públicamente y sean los consumidores de
esa clase los que realizan la conexión del evento con un método (se
"suscriben" al evento). En cambio se usa un delegado cuando la conexión se
realiza al revés, es decir, alguien le pasa un delegado ya inicializado a
una clase que lo consume (por ejemplo, como argumento de una rutina, para
que esta rutina le haga llamadas). ¿Qué pasa si los usas al revés? Pues
nada, que funciona perfectamente, pero el código resulta quizás un poco
menos legible porque no es la forma en que habitualmente se suele operar.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida