Problema con nombres en Reflection

15/10/2006 - 12:04 por VicBcn | Informe spam
Hola!

Es la primera vez que creo una Biblioteca de clases DLL, y me he
encontrado con el siguiente problema, que nose como corregir.
seguramente se trate de una tonteria ...

Creo una sencilla, a modo de prueba Biblioteca de Clases: de nombre
verifModuls

Namespace CDP
Public Class verif

Public Sub New()

End Sub

Public Sub obtenerModulos()
MsgBox("hola")
temp.comments = "Hola"
End Sub

End Class

End Namespace

Ahora bien, voy al codigo queriendo invocarla con Reflection...
Dim myasm As Reflection.Assembly
Dim tipoClase As Type
Dim obj As Object

' Cargamos la DLL en Reflection
myasm.LoadFrom("verifModuls.dll")
tipoClase = myasm.GetType("verifModuls.CDP.verif")
obj = Activator.CreateInstance(tipoClase)
... ...


Y en la linea GetType, me da error de que nose ha podido instanciar ya
que la referencia a objeto no es valida! Alguien sabe porque me sale?
El espacio de nombres que he puesto no es correcto? o habria que
activar alguna opción en la bibliotéca de clases


Saludos, Victor
Muchas gracias
 

Leer las respuestas

#1 SoftJaén
15/10/2006 - 13:10 | Informe spam
"VicBcn" escribió:

Ahora bien, voy al codigo queriendo invocarla con Reflection...
Dim myasm As Reflection.Assembly

' Cargamos la DLL en Reflection
myasm.LoadFrom("verifModuls.dll")

Y en la linea GetType, me da error de que no se ha podido instanciar ya
que la referencia a objeto no es valida! Alguien sabe porque me sale?



Hola, Víctor:

Como la clase Assembly carece de un constructor, necesariamente tendrás que
crear una referencia al ensamblado. Prueba a referenciarla de la siguiente
manera:

Dim myasm As Reflection.Assembly = _
Reflection.Assembly.LoadFrom("verifModuls.dll")

O también, lo puedes hacer de esta otra forma:

Dim myasm As Reflection.Assembly

myasm = Reflection.Assembly.LoadFrom("verifModuls.dll")

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.

Preguntas similares