Obtener una Instancia a una DLL creada en vb.NET

30/01/2006 - 21:08 por Bio | Informe spam
Hola.

Tengo el siguiente código:

oAss = Reflection.Assembly.LoadFrom(Ficheros(i))
oObj = oAss.CreateInstance("cCovers01.cCovers")

Al parecer funciona, pero no puedo acceder ni a los procedimientos, ni
a los métodos, ni a los eventos de la clase que se supone acabo de
crear... O quizá es que no se hacerlo. Por ejemplo, sería algo como:

oObj.Busqueda = "prueba"
oObj.Buscar()

¿? Algo me dice que no. Agradecería ayuda en el tema.
Gracias.
Juan Carlos.
 

Leer las respuestas

#1 Jesús López
31/01/2006 - 09:09 | Informe spam
Si oObj está declarado como Object, Option Strict está en Off y Busqueda y
Buscar son miembros públicos de la clase cCovers01.cCovers entonces
funcionará el código que has puesto. Por detrás el compilador de VB.NET
generará código que hace uso de reflection para acceder a esos miembros de
la clase.

Ahora bien, ¿cuales son las razones por las que cargas el ensamblado por
Reflection? Reflection es lento y una llamada mal hecha, por ejemplo si en
vez de poner oObj.Busqueda pones oObj.Bisquida, el error no se detectará en
tiempo de compilación. Quizá si nos das más detalles te podríamos dar
alguna idea que haría el programa más rápido, se evitaran los problemas
relacionados con las errores de mecanografía y estuviera disponible
IntelliSense.


Saludos:

Jesús López
MVP

"Bio" escribió en el mensaje
news:
Hola.

Tengo el siguiente código:

oAss = Reflection.Assembly.LoadFrom(Ficheros(i))
oObj = oAss.CreateInstance("cCovers01.cCovers")

Al parecer funciona, pero no puedo acceder ni a los procedimientos, ni
a los métodos, ni a los eventos de la clase que se supone acabo de
crear... O quizá es que no se hacerlo. Por ejemplo, sería algo como:

oObj.Busqueda = "prueba"
oObj.Buscar()

¿? Algo me dice que no. Agradecería ayuda en el tema.
Gracias.
Juan Carlos.

Preguntas similares