Duda en array de objetos con C#
Publicado por Rubén (1 intervención) el 22/06/2017 11:46:57
Buenas tardes a todos y gracias por adelantado.
Estoy haciendo mis pinitos en esto de la programación y estoy intentando hacer arrays de objetos en C#, y me ha surgido una duda que no sé solucionar, ni siquiera por qué me sale. Adjunto código más abajo:
La línea comentada //cA[1].Paginas = 200; me da error CS1061.
Intento modificar el valor de paginas mediante el descriptor de acceso Paginas y me da error. El problema debe venir por el array, ya que si hago lo mismo con objetos individuales(sin array) sí que me compila y me funciona.
Lo que quiero es tener variables en las subclases sin tener que usarlas en la clase padre.
¿Alguna ayuda, que me estoy volviendo loco ya?
Muchísimas gracias a todos.
Estoy haciendo mis pinitos en esto de la programación y estoy intentando hacer arrays de objetos en C#, y me ha surgido una duda que no sé solucionar, ni siquiera por qué me sale. Adjunto código más abajo:
La línea comentada //cA[1].Paginas = 200; me da error CS1061.
Intento modificar el valor de paginas mediante el descriptor de acceso Paginas y me da error. El problema debe venir por el array, ya que si hago lo mismo con objetos individuales(sin array) sí que me compila y me funciona.
Lo que quiero es tener variables en las subclases sin tener que usarlas en la clase padre.
¿Alguna ayuda, que me estoy volviendo loco ya?
Muchísimas gracias a todos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
////////////////////////////////////////////////
public class PruebasArraysObjetos
{
public static void Main()
{
claseA[] cA = new claseA[2];
cA[0] = new claseA();
cA[1] = new claseB();
//cA[1].Paginas = 200; //Línea que da error
cA[0].Mostrar();
cA[1].Mostrar();
}
public class claseA
{
public virtual void Mostrar()
{
Console.WriteLine("Esto es la clase A");
}
}
public class claseB : claseA
{
private int paginas;
public override void Mostrar()
{
Console.WriteLine("Esto es la clase B");
Console.WriteLine(paginas);
}
public int Paginas
{
get
{
return paginas;
}
set
{
paginas = value;
}
}
}
}
Valora esta pregunta


0