У меня есть один класс Racun.csC# с использованием ArrayList из другого класса
public class Racun
{
private string _nazivKupca;
public string NazivKupca
{
get
{
return _nazivKupca;
}
set
{
_nazivKupca = value;
}
}
private string _djelatnik;
public string Djelatnik
{
get
{
return _djelatnik;
}
set
{
_djelatnik = value;
}
}
public DateTime Datum
{
get
{
return DateTime.Now;
}
}
private string _brojRacuna;
public string BrojRacuna
{
get
{
return _brojRacuna;
}
set
{
_brojRacuna = value;
}
}
private ArrayList _listaStavaka = new ArrayList();
public ArrayList ListaStavaka
{
get { return _listaStavaka; }
}
А теперь я пытаюсь сохранить объекты в этом ArrayList ListaStavaka
из моей основной программы.
class Program
{
static void Main(string[] args)
{
Racun racun = new Racun();
Console.Write("Kupac: ");
racun.NazivKupca = Console.ReadLine();
Console.Write("Djelatnik: ");
racun.Djelatnik = Console.ReadLine();
Console.Write("Broj računa: ");
racun.BrojRacuna = Console.ReadLine();
char unos = 'd';
do
{
Stavka stavka = new Stavka();
Console.Write("Naziv proizvoda: ");
stavka.NazivProizvoda = Console.ReadLine();
Console.Write("Kolicina: ");
stavka.Kolicina = int.Parse(Console.ReadLine());
Console.Write("Jedinicna mjera: ");
stavka.JedinicnaMjera = Console.ReadLine();
Console.Write("Cjena bez pdv-a: ");
stavka.Cijena = double.Parse(Console.ReadLine());
ListaStavaka.Add(stavka);
Console.WriteLine("Zelite li unjeti novu stavku (D/N): ");
unos = Console.ReadKey().KeyChar;
Console.WriteLine("\n");
} while (Char.ToUpper(unos) == 'D');
Я получаю сообщение об ошибке
Название 'ListaStavaka' не существует в текущем контексте.
Так что мой вопрос, когда я ArrayList
в другом классе, как добавить объекты в этом ArrayList
в моей основной программе? Что мне нужно сделать в основной программе для этого?
Пожалуйста, я искал эту проблему, и все предлагают, чтобы вместо этого использовался List<T>
, но мне действительно нужно использовать ArrayList
. Спасибо.
EDIT:
Итак, мне удалось решить эту проблему, и теперь у меня есть еще одна проблема:
Я попытался это:
foreach (var item in racun.ListaStavaka)
{
Console.WriteLine("| {0}.{1}, {2} {3}, {4} kn/{5} = {6} kn", i, item.NazivProizvoda, item.Kolicina, item.JedinicnaMjera, item.Cijena, item.JedinicnaMjera, item.UkupnaCijena());
i++;
ukupno = ukupno + item.UkupnaCijena();
}
Но я получаю ошибки в каждом собственности я написал в этой строке WriteLine ... «Объект» не содержит определения для «NazivProizvoda», и не может быть найден метод расширения «NazivProizvoda», принимающий первый аргумент типа «объект» (если вам не хватает директивы использования или сборки ссылка?) «... я не понимаю, потому что это p свойства - это объект формы «Ставка», который я сохранил в этом ArrayList с «racun.ListaStavaka()» ... Так что же я сделал не так?
Я отредактировал мой код. Это ты имел в виду? – Goran
Да, спасибо. Теперь я вижу, если я поставлю ракун. в ListaStavaka.Add(), чтобы получить racun.ListaStavaka.Add («test»), он работает. – Goran