Mam problem taki, że moja lista jest w innej klasie i ją z niej dziedziczę do innej( elementy dodają się do listy bez problemowo, ale są widoczne tylko z tej klasy dodaj)
gdy próbuje wywołać te ów elementy z innej klasy to już ich nie widać. Jakieś pomysły dlaczego ?
w skrocie klasy : dodaj, lista i wywołaj
dodaj -dziedziczy z lista
wywolaj- dziedziczy z lista
klasa lista -jest abstrakcyjna
ale po uzyciu dodaj, nie są one nigdzie zapisywane i znikaja lub nie sa przekazywane do klasy lista
Moje oczekiwania ingerowanie w liste w klasie lista z roznych klas.
class Lista
{
public List<Samochod> list = new List<Samochod>();
public void wypis()
{
//nie wypisuje
foreach (var item in list)
{
Console.WriteLine(item.Model + item.Rocznik + item.Silnik);
}
}
class Dodaj_auto : Lista
{
//po dodaniu wypisuje je bezproblemowo
public void dodaj()
{
Console.WriteLine("ile samochodow ");
int x = int.Parse(Console.ReadLine());
var samochody = new Samochod[x];
for (int i = 0; i < x; i++)
{
Console.WriteLine($"samochod {i + 1} ");
Console.WriteLine("marka");
string y = Console.ReadLine();
Console.WriteLine("rocznik");
int z = int.Parse(Console.ReadLine());
Console.WriteLine("silnik");
double q = double.Parse(Console.ReadLine(), System.Globalization.CultureInfo.InvariantCulture);
samochody[i] = new Samochod(y, z, q);
list.Add(samochody[i]);
// Samochod s[i] = new Samochod(y, z, q);
}
}
}
class Samochod
{
private int rocznik;
private double silnik;
public string Model{ get; set; }
public int Rocznik
{
get
{
return rocznik;
}
set
{
if (value < 1900 || value > 2021)
{
}
else
{
rocznik = value;
}
}
}
public double Silnik
{
get
{
return silnik;
}
set
{
if (value < 0.1 || value > 9.9)
{
}
else
{
silnik = value;
}
}
}
public Samochod(string Model, int Rocznik, double Silnik)
{
this.Model = Model;
this.Rocznik = Rocznik;
this.Silnik = Silnik;
}
}