Sobre delegados

29/11/2007 - 08:23 por asieraies | Informe spam
Hola grupo,

Llevo muchos años programadno con Vb y con Vb.NEt y ahora estoy
pasandome a C#. He hecho ya varias cosas pero veo con frecuencia el
tema de delegados y no entiendo:

1. Que son
2. Para que sirven
3. documentación sobre ellos

Gracias y saludos

Asier

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
29/11/2007 - 09:22 | Informe spam
"asieraies" wrote in message
news:
Llevo muchos años programadno con Vb y con Vb.NEt y ahora estoy
pasandome a C#. He hecho ya varias cosas pero veo con frecuencia el
tema de delegados y no entiendo:

1. Que son
2. Para que sirven
3. documentación sobre ellos



Los delegados sirven para llamar indirectamente a un método. Es decir,
desde el código llamante no llamas al método, sino que llamas al delegado, y
el delegado tiene internamente una referencia al método que se tiene que
ejecutar.
Sirven para resolver "conexiones" entre trozos de código cuando esas
conexiones no se conocen en tiempo de compilación. Por ejemplo, imagínate
que desarrollas una librería que tiene una función con retrollamadas (del
tipo "haz tal cosa y cuando termines, llama a tal subrutina". Esa librería
la compilamos, y una vez compilada alguien quiere usarla desde un nuevo
programa. Para decirle desde este nuevo programa lo de "llamame a TAL
subrutina", lo que se hace es pasar como argumento un delegado que apunta a
la subrutina en cuestión (que acabas de crear en tu nuevo programa pero no
existía cuando fue compilada la DLL que tiene que llamar a esa subrutina).

http://msdn2.microsoft.com/es-es/library/900fyy8e(VS.80).aspx
http://msdn.microsoft.com/library/s...tetype.asp
http://msdn2.microsoft.com/es-es/li...m.delegate(VS.80).aspx
Respuesta Responder a este mensaje
#2 asieraies
29/11/2007 - 14:05 | Informe spam
On 29 nov, 09:22, "Alberto Poblacion" <earthling-
wrote:
"asieraies" wrote in message

news:

> Llevo muchos años programadno con Vb y con Vb.NEt y ahora estoy
> pasandome a C#. He hecho ya varias cosas pero veo con frecuencia el
> tema de delegados y no entiendo:

> 1. Que son
> 2. Para que sirven
> 3. documentación sobre ellos

Los delegados sirven para llamar indirectamente a un método. Es decir,
desde el código llamante no llamas al método, sino que llamas al delegado, y
el delegado tiene internamente una referencia al método que se tiene que
ejecutar.
Sirven para resolver "conexiones" entre trozos de código cuando esas
conexiones no se conocen en tiempo de compilación. Por ejemplo, imagínate
que desarrollas una librería que tiene una función con retrollamadas (del
tipo "haz tal cosa y cuando termines, llama a tal subrutina". Esa librería
la compilamos, y una vez compilada alguien quiere usarla desde un nuevo
programa. Para decirle desde este nuevo programa lo de "llamame a TAL
subrutina", lo que se hace es pasar como argumento un delegado que apunta a
la subrutina en cuestión (que acabas de crear en tu nuevo programa pero no
existía cuando fue compilada la DLL que tiene que llamar a esa subrutina).

http://msdn2.microsoft.com/es-es/library/900fyy8e(VS.80).aspxhttp://msdn.microsoft.com/libra.../cs...http://msdn2.microsoft.com/es-es/library/system.delegate(VS.80).aspx



Hola,

Gracia por la ayuda

Asier
Respuesta Responder a este mensaje
#3 Harvey Triana
29/11/2007 - 20:15 | Informe spam
Te puedo sugerir este articulo:
http://vexpert.mvps.org/articles/Ap...DotNET.htm

<Harvey Triana />

"asieraies" escribió en el mensaje
news:
Hola grupo,

Llevo muchos años programadno con Vb y con Vb.NEt y ahora estoy
pasandome a C#. He hecho ya varias cosas pero veo con frecuencia el
tema de delegados y no entiendo:

1. Que son
2. Para que sirven
3. documentación sobre ellos

Gracias y saludos

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