Funciones publicas y privadas

14/07/2008 - 14:10 por Hugo Gsell | Informe spam
Necesito hacer lo siguiente... tengo un conjunto de clases independientes,
es decir, grabados en archivos independientes:
CLASE1.vb
CLASE2.vb
cada una de ellas implementa un grupo de propiedades y métodos.
Luego tengo una clase de nivel superior CLASESUPERIOR

en el proyecto de CLASESUPERIOR incluyo como "vinculos" a CLASE1.vb y
CLASE2.vb.

¿Como debo declarar los métodos del CLASE1.vb y CLASE2.vb? de tal forma que:

1) Desde CLASESUPERIOR.vb acceda a los métodos de CLASE1.vb y CLASE2.vb.
2) Luego de generar la dll CLASESUPERIOR.DLL desde el proyecto que incluya a
la misma solo tenga acceso a los métodos de CLASESUPERIOR y NO TENGA
ACCESO a los métodos de CLASE1.vb y CLASE2.vb.

Preguntas similare

Leer las respuestas

#1 Leonardo Azpurua
21/07/2008 - 16:20 | Informe spam
"Hugo Gsell" escribió en el mensaje
news:%
Necesito hacer lo siguiente... tengo un conjunto de clases independientes,
es decir, grabados en archivos independientes:
CLASE1.vb
CLASE2.vb
cada una de ellas implementa un grupo de propiedades y métodos.
Luego tengo una clase de nivel superior CLASESUPERIOR

en el proyecto de CLASESUPERIOR incluyo como "vinculos" a CLASE1.vb y
CLASE2.vb.

¿Como debo declarar los métodos del CLASE1.vb y CLASE2.vb? de tal forma
que:

1) Desde CLASESUPERIOR.vb acceda a los métodos de CLASE1.vb y CLASE2.vb.
2) Luego de generar la dll CLASESUPERIOR.DLL desde el proyecto que incluya
a la misma solo tenga acceso a los métodos de CLASESUPERIOR y NO TENGA
ACCESO a los métodos de CLASE1.vb y CLASE2.vb.



Hola, Hugo:

"Vinculo" es un termino que no significa nada en el contexto que describes.

O bien Clase1 y Clase2 son unidades compilables dentro del mismo proyecto
que contiene a ClaseSuperior, o bien Clase1 y Clase2 son clases declaradas
en una (o dos) DLL que referencias desde el proyecto que contiene a
ClaseSuperior.

En el primer caso, basta con declarar Clase1 y Clase2 con el modificador
Friend, que es lo mismo que decir "accesibles desde el mismo proyecto".

En el segundo caso, basta con no referenciar la DLL desde el proyecto
cliente.

Si tanto Clase1 como Clase2 son usadas *exclusivamente* desde ClaseSuperior,
podrias considerar la posibilidad de declararlas como clases privadas dentro
de ClaseSuperior:

Public Class ClaseSuperior

Private Class Clase1
...
End Class

Private Class Clase2
...
End Class



End Class


Salud!
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida