Reflection

25/01/2006 - 16:50 por Arkhanne | Informe spam
Hola,

Quiero ejecutar un método de otra clase mediante el nombre del método. El
método en cuestión tiene dos parámetros: el primero ByRef y el segundo ByVal.
Si el primero lo pongo ByVal me funciona bien, pero necesito que sea ByRef y
no condigo hacerlo. El código es el siguiente, pero el GetMethod siempre
devuelve Nothing. No se qué hago mal. ¿Alguien me puede ayudar?


Dim myType As Type = GetType(BaseDatosSI)
Dim myMethod As Reflection.MethodInfo
Dim param(1) As Type
Dim mods As Reflection.ParameterModifier() = New
Reflection.ParameterModifier(1) {New Reflection.ParameterModifier(1), New
Reflection.ParameterModifier(1)}

mods(0)(0) = True

param(0) = GetType(System.Object)
param(1) = GetType(System.Boolean)

For Each tabla As DataRow In _dtTablas.Rows
myMethod = myType.GetMethod(tabla("metodo"), param, mods)
myMethod.Invoke(Nothing, New Object() {_baseDatos,
tabla("reindexar")})
Next
 

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
25/01/2006 - 20:55 | Informe spam
Usa param(0) = Type.GetType("System.Object&") para obtener el tipo del
primer parametro (el & indica que es ByRef). Pero por lo que veo, no hay
necesidad de que el parametro sea ByRef (o si?).

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C

Preguntas similares