Ejecución de procedimientos mediante reflection

20/12/2004 - 13:34 por Santiago Barro | Informe spam
Hola a todos,
necesito ejecutar un procedimiento desde una libreria cargada en tiempo de
ejecución.

He conseguido que cargue la libreria y que muestra información sobre sus
procedimientos, pero no que los ejecute:

Dim r As System.Reflection.Assembly
r = Reflection.Assembly.LoadFrom(Application.StartupPath &
"\libreria.dll")
Dim metodo As MethodInfo = r.GetType.GetMethod("Prueba")
metodo.Invoke(Nothing, Nothing)

El error que me da es: "Referencia a objeto no establecida como instancia de
un objeto."

Muchas gracias y un saludo
 

Leer las respuestas

#1 SqlRanger
20/12/2004 - 14:24 | Informe spam
Hay que obtener el tipo de una determinada clase implementada en el
ensamblado y crear un objeto de la clase antes de invocar a un método de
instancia:

Dim r As System.Reflection.Assembly
r = Reflection.Assembly.LoadFrom(Application.StartupPath &
"\libreria.dll")

Dim Tipo As Type = r.GetType("EspacioDeNombres.Clase")
Dim metodo As MethodInfo = Tipo.GetMethod("NombreMétodo")
Dim Obj As Object = Activator.CreateInstance( Tipo )
metodo.Invoke(Obj, Nothing)


Saludos:

Jesús López
MVP


"Santiago Barro" escribió en el mensaje
news:
Hola a todos,
necesito ejecutar un procedimiento desde una libreria cargada en tiempo de
ejecución.

He conseguido que cargue la libreria y que muestra información sobre sus
procedimientos, pero no que los ejecute:

Dim r As System.Reflection.Assembly
r = Reflection.Assembly.LoadFrom(Application.StartupPath &
"\libreria.dll")
Dim metodo As MethodInfo = r.GetType.GetMethod("Prueba")
metodo.Invoke(Nothing, Nothing)

El error que me da es: "Referencia a objeto no establecida como instancia


de
un objeto."

Muchas gracias y un saludo


Preguntas similares