Foros del Web » Programación para mayores de 30 ;) » .NET »

Clase dentro de una clase?

Estas en el tema de Clase dentro de una clase? en el foro de .NET en Foros del Web. Hola. Tengo una duda que es más bien conceptual. A nivel de programación, estaría bien poner una clase dentro de una clase? Me explico: Tengo ...
  #1 (permalink)  
Antiguo 30/11/2010, 02:43
 
Fecha de Ingreso: marzo-2010
Mensajes: 191
Antigüedad: 14 años, 1 mes
Puntos: 3
Clase dentro de una clase?

Hola.

Tengo una duda que es más bien conceptual.

A nivel de programación, estaría bien poner una clase dentro de una clase?

Me explico:

Tengo un DLL que contiene mi biblioteca de clases. El caso es que en esa DLL quisiera poner una referencia a otra DLL que contiene otra clase distinta a la que quiero poner.

Por ejemplo:

Código VB.NET:
Ver original
  1. DLL 1:
  2.  
  3. imports DLL2
  4.  
  5. public class DLL1
  6.      public sub prueba(byval blablabla as string)
  7.           dim hola as new dll2.dll2
  8.  
  9.           hola.classedeDLL2
  10.      end sub
  11. end class

Se puede hacer o daria algún problema estructural??

Saludos
  #2 (permalink)  
Antiguo 30/11/2010, 19:21
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: Clase dentro de una clase?

al final los miembros o propiedades que definas en tu clase no importa de que tipo sean conceptualmente es un clase X que tiene un miembro de tipo Y asi que no hay show.

esto viendo el ejemplo que pones, si involucra herencia, interfaces u otro concepto de POO o no , no lo sabemos por la informacion que compartes pero no creo que sea el caso.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 01/12/2010, 06:20
 
Fecha de Ingreso: marzo-2010
Mensajes: 191
Antigüedad: 14 años, 1 mes
Puntos: 3
Pregunta Respuesta: Clase dentro de una clase?

Hola Peterpay.

Pues mira, te explico.

Tengo una DLL que tiene clases relacionadas con la conexión de una base de datos. Se llama Conexion.dll

También tengo otra DLL, que se encarga de enviar un correo al administrador cuando falle la conexión. Se llama Correo.dll

Este seria el código (a groso modo, sin entrar en detalle y sin poner la sintaxis de conexión correctamente, es solo un ejemplo) de Conexion.dll

Código VB .NET:
Ver original
  1. imports correo
  2.  
  3. public class conexion
  4.  
  5.      public sub conexion_abrir()
  6.           dim cadena_conexion as string = "blablabla"
  7.           dim correo as new correo.correo
  8.           (...)
  9.          
  10.           'aqui ahora abre la conexión
  11.           (...)
  12.          
  13.           if conexion.state<>open then
  14.                correo.envia_admin("No se ha establecido conexión")
  15.           end if
  16.      end sub
  17. end class

Todo esto lo hacia un módulo dentro del propio programa pero claro, quiero organizar los módulos por clases y asi ya tendré las DLL por si las necesito en otro programa que realize.

Y es por eso que he empezado a trabajar con DLL hace poco (estoy aprendiendo a encapsular) y me asalta esta duda, que pasa si en una DLL, importo otra DLL.

Gracias.

Saludos
  #4 (permalink)  
Antiguo 01/12/2010, 08:12
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 4 meses
Puntos: 22
Respuesta: Clase dentro de una clase?

No tienes ningún problema en hacer eso que mencionas, lo único que debes de tener en cuenta es que al momento de distribuir la aplicación debes de incluir las 2 DLL.

Saludos
  #5 (permalink)  
Antiguo 01/12/2010, 16:30
 
Fecha de Ingreso: marzo-2010
Mensajes: 191
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: Clase dentro de una clase?

Hola Gedarufi.

Pues gracias por la aclaración, era lo que quería leer :)

Si, por la distribución ningún problema, ya que las DLL están referenciadas al proyecto y en la carpeta "Debug" están las 2 :)

Gracias de nuevo

Etiquetas: clase, dll
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:52.