Claro que las puedes usar... pero no directamente, porque la convención de llamada s de NET es distinta de la convención de llamadas de vb6.
...
tienes que crear un wrapper de las funciones que requieres...
1- Debe ser una proyecto de biblioteca de clases.
2 - al añadir el proyecto, ve a a las propiedades del mismo (doble click en 'myproject' en el explorador de soluciones).
3 - Ve a la pestaña 'Aplicación, pulsa el botón información de ensamblado... debajo del GUID, activa la casilla 'Crear ensamblado visible a través de COM'.
4 - En la ficha 'compilar', abajo dle todo, activa la caislla: Registras para interoperabilidad COM'.
5 - Elimina las clases que tenga el proyecto y añade una nueva clase, pero de tipo 'COM Class', esto generará los GUID, para que pueda ser accedido por VB6... (mira la imagen que adjunto). Es decir, vb6 solo verá la funcionalidad de estas clases, puedes tener otras clases si las necesitas, pero serán de NET al 100, y por supuesto puedes usarlas desde esa 'COM Class'... peor para vb6 serán invisibles e inaccesibles. La funcionalidad que quieras acceder tendrá que estar disponible en las 'COM Class' del proyecto.
No puedes usar todo lo que quieras... en las funciones publicas, en las funciones privadas, puedes usar parámetros de NET...
Estos es, los GUID y la clase NEW sin parámetros.
Los constructores con parámetros, son ignorados y las funciones sobrecargadas son renombradas con sufijos numerados. Por ejemplo: Sean 2 funciones llamadas FunX(byval Y as string) y FunX(byval Y as byte)
La 1ª se sigue llamando igual "FunX", la 2ª se renombra como: "FunX_1", es decir esto es lo que se verá por ejemplo desde VB6.0
Así al compilar permite que puedan ser reconocidos por otras plataformas que usan COM.
Explicar cada vericueto es largo y lleva bastante tiempo, lo mejor es que explores por tí mismo...
Una vez que termines el wrapper, compila tu clase/s... y tendrás que registrarla como una clase de NET, pero gracias a los GUID, VB6 ya podrá 'verla' y usarla.
Los errores que cometas en parámetros a llamadas, supondrá volver al código en NET, solucionar el problema, volver a compilar y registrar... y volver a instanciar desde vb6.
