Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Otra dudilla de C#

Iniciado por XÑA, 18 de Septiembre de 2011, 03:53:16 PM

« anterior - próximo »

XÑA

Veamos, esto es de diseño....

Resulta que tengo una clase que es Sprite y que necesita en el constructor un device.

class Sprite
{
public Sprite(Device device...)
}

Por lo tanto PRIMERO tengo que tener el device creado.
El problema que tengo es que si el constructor es público, podría hacer esto:

public class Form1:Form
{
...
Sprite sprite=new Sprite(device,...)

}

Con lo cual le petaría!!!

Para evitar esto, debería tener un método en device que me diera Sprites, algo así como:

Sprite sprite=device.CreateSprite(...)

El problema es que el programador puede crear una clase derivada de Sprite, con lo que CreateSprite tendría que tener un método con el tipo y los parámetros...

Sin embargo...¡todavía podría fastidiarme poniendo el CreateSprite en la definición del campo! Aunque eso ya me parece un error suyo de cajón...

La pregunta es...

¿Cual sería el método más elegante para evitar que se pueda instanciar en un campo?

;)

Vicente

Yo no me comeria el tarro, compruebas en el constructor si el device esta creado y si no lo esta lanzas una excepcion y a correr.

XÑA







Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.