Obtener tipo de argumentos de un delegado con reflexion

08/09/2004 - 10:00 por Vicente Alciturri Fernandez | Informe spam
Hola,
necesito obtener el tipo de los argumentos de un delegado utilizando
Reflection.
Para ello he hecho pruebas con buscando el tipo de los argumentos de
CancelEventHandler de la siguiente manera:
Type elDelegado= elEvento.EventHandlerType; //"elEvento" es un EventInfo

if(manejador.Name != "EventHandler")

{

string TipoDeDelegado=elDelegado.Name; //correcto.
TipoDeDelegado="CancelEventHandler"

ConstructorInfo [] ConsDeleg= manejador.GetConstructors(); //lo hago asi
aunque los delegados solo tienen un constructor

foreach (ConstructorInfo elCons in ConsDeleg) /

{

ParameterInfo[] prm = elCons.GetParameters(); //obtengo los parametros del
constructor

foreach(ParameterInfo param in parametros) //Necesito el tipo del segundo
argumento. El primero que es el sender siempre me da igual

{

Type tipoParam =param.ParameterType.GetElementType(); //Cuando hago el
GetType al segundo argumento devuelve un IntPtr, por eso busco el
ElementType pero no funciona porque la propiedad HasElementType úLSE;
¿?¿?¿?¿?¿?¿?

}

}


}
 

Leer las respuestas

#1 egc
08/09/2004 - 15:50 | Informe spam
hola!

¿podrias explicitar para que necesitas saber ese tipo de
informacion?

salu2!!

egc


Hola,
necesito obtener el tipo de los argumentos de un delegado


utilizando
Reflection.
Para ello he hecho pruebas con buscando el tipo de los


argumentos de
CancelEventHandler de la siguiente manera:
Type elDelegado= elEvento.EventHandlerType; //"elEvento"


es un EventInfo

if(manejador.Name != "EventHandler")

{

string TipoDeDelegado=elDelegado.Name; //correcto.
TipoDeDelegado="CancelEventHandler"

ConstructorInfo [] ConsDeleg= manejador.GetConstructors


(); //lo hago asi
aunque los delegados solo tienen un constructor

foreach (ConstructorInfo elCons in ConsDeleg) /

{

ParameterInfo[] prm = elCons.GetParameters(); //obtengo


los parametros del
constructor

foreach(ParameterInfo param in parametros) //Necesito el


tipo del segundo
argumento. El primero que es el sender siempre me da igual

{

Type tipoParam =param.ParameterType.GetElementType


(); //Cuando hago el
GetType al segundo argumento devuelve un IntPtr, por eso


busco el
ElementType pero no funciona porque la propiedad


HasElementType úLSE;
¿?¿?¿?¿?¿?¿?

}

}


}


.

Preguntas similares