2010-01-25 24 views
9

¿Es posible tener clases parciales en todos los proyectos?Clases parciales en proyectos

p. Ej. El Proyecto 1 tiene una Clase de Cliente. Project2, que es un módulo opcional, se agrega a la clase de cliente al asociar una clase de orden y al utilizar la clase de cliente original.

+1

Inheretance es probablemente el camino a seguir. –

+0

Al usar interfaces también ayudé cuando utilicé la interfaz para pasar el ICustomer – Traci

Respuesta

16

No se puede usar la palabra clave partial para dividir el código de una clase entre proyectos. La palabra clave partial es un truco de compilación; el compilador generará una sola clase de las partes que encuentre, por lo que todas las partes de la clase deben existir con el mismo archivo binario. Una vez que se compila la clase, no queda rastro de que sea una clase parcial.

Si desea extender una clase existente, deberá heredarla (si no está sellada) o crear su propia clase nueva que contenga las clases de las que desea combinar información.

+4

+1 por mencionar la composición como una alternativa a la herencia. – Randolpho

+0

También podría usar métodos de extensión que ordenarían o lograrían esto. – Hoots

1

No. Una clase parcial debe compilarse dentro del mismo contexto, es decir, ensamblaje.

Lo que probablemente quiera hacer es usar Inheritance.

1

las clases parciales son completamente una construcción del compilador, básicamente concatena las definiciones de clase juntas, luego compila eso. No existe el concepto de 'clase parcial' en .net, por lo que no puede dividir clases parciales en diferentes unidades de compilación (proyectos o ensamblajes)

0

no se puede usar la clase parcial en proyectos separados. Sin embargo, el período puede extensiones Class Extensions o herencia o interfaz

Cuestiones relacionadas