C sharp - Heredar de varias clases. Ayuda!

 
Vista:

Heredar de varias clases. Ayuda!

Publicado por MorgoZ (27 intervenciones) el 06/12/2004 13:23:36
Hola!

Creo que en C# la herencia multiple no existe asi que quisiera saber como puedo heredar de más de una clase a la vez.

El problema en concreto es que tengo un Form que ya de por sí hereda de la clase "Form" para poder construirse (eso no se puede cambiar, creo) y me gustaría que esta clase heredase de otra... luego ya son dos.

A ver si alguien me puede ayudar.
Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Heredar de varias clases. Ayuda!

Publicado por Rony José (1 intervención) el 06/12/2004 13:43:30
Tu Form Hereda de la clase "Form", por lo tanto posee todas las caracteristicas de esta más las suyas propias,.. Si quieres que herede de otra pues crea otra clase que herede de "Form", por ejemplo "Form2" y tu Form entonces tendria que heredar de "Form2" quien tiene como clase base a "Form". De este modo "Form" seria la clase base de "Form2" y esta a su vez la clase base de todos tus formularios.
Para cambiar la clase base de tus Formularios simplemente cambia en el inherits por el nombre de tu clase base("Form2")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Heredar de varias clases. Ayuda!

Publicado por MorgoZ (27 intervenciones) el 06/12/2004 14:23:17
Bueno tres cosas:

La primera muchas gracias por tu respuesta.

La segunda: he hecho lo que me comentaste pero ahora el problema es que, aunque todo va bien, no puedo diseñar la ventana ya que cuando le doy al diseñador visual de la ventana me sale el siguiente error:

No parameterless constructor defined for this object.

Y la tercera: no sé como cambiar el "inherits"

Gracias, a ver si me puedes ayudar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:Heredar de varias clases. Ayuda!

Publicado por Yamil Bracho (1164 intervenciones) el 06/12/2004 15:08:24
En .NET la herencia multiple se hace atraves de interfaces...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Heredar de varias clases. Ayuda!

Publicado por MorgoZ (27 intervenciones) el 06/12/2004 15:21:44
Si, el problema es si "Forms" es una interface porque si no lo es me parece que estamos en las mismas.

Ahora el error que me sale al intentar abrir el diseñador es el siguiente:

The designer could not be shown for this file because none of the classes within it can be designed. The designer inspected the following classes in the file: Ventana --- The base class 'ControlRemoto.Colegas' could not be loaded. Ensure the assembly has been referenced and compiled.

Donde "ControlRemoto.Colegas" es la clase de la que hereda la ventana y que hereda de "Forms".

Gracias a todos por contestar!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Heredar de varias clases. Ayuda!

Publicado por MorgoZ (27 intervenciones) el 06/12/2004 17:31:34
Os facilito un código de ejemplo y el error que obtengo al intentar ejecutar el diseñador:

Tenemos dos clases, una hereda de Form y la otra de la primera:

using System.Windows.Forms;

namespace Prueba
{
public class Class1 : Class2
{
public Class1() { }
}

public class Class2 : Form
{
public Class2() { }
}
}

Bien, pues al intentar ejecutar el diseñador de la clase para dibujar la ventana me dice lo siguiente:

The designer could not be shown for this file because none of the classes within it can be designed. The designer inspected the following classes in the file: Class1 --- The base class 'Prueba.Class2' could not be loaded. Ensure the assembly has been referenced and compiled.

A ver si alguien sabe como solucionar el problema.
Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:Heredar de varias clases. Ayuda!

Publicado por Yamil Bracho (1164 intervenciones) el 06/12/2004 20:37:57
Puedes abrir la Class2 desde el diseñador ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Heredar de varias clases. Ayuda!

Publicado por MorgoZ (27 intervenciones) el 06/12/2004 21:07:13
Si, puedo abrirla.
El problema es solo de la Class1, supongo que porque no hereda directamente de Form, si no que lo hace a través de la Class2... aunque no entiendo por qué le ocurre algo asi.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar