#c# #class
#c# #класс
Вопрос:
Для школы я создаю приложение для интернет-магазина. у меня есть 2 списка, один с продуктами, а другой похож на корзину покупок:
Теперь у меня есть следующие классы:
public class Artikel
{
// instantie variabelen
private string artikelnaam;
private string categorie;
private double prijs;
// properties
public string Artikelnaam { get; }
public string Categorie { get; }
public double Prijs { get; }
// constructor
public Artikel(string artikelnaam, string categorie, double prijs)
{
this.artikelnaam = artikelnaam;
this.categorie = categorie;
this.prijs = prijs;
}
// ToString methode
public override string ToString()
{
return artikelnaam "t" categorie "t" prijs;
}
}
и класс корзины покупок:
class WinkelwagenObject
{
// instantie variabelen
private string artikelnaam;
private string categorie;
private int aantal;
private double prijs;
private double subtotaal;
// properties
public string Artikelnaam { get; }
public string Categorie { get; }
public int Aantal { get; set; }
public double Prijs { get; }
public double Subtotaal { get; }
// constructor
public WinkelwagenObject(string artikelnaam, string categorie, int aantal, double prijs, double subtotaal)
{
this.artikelnaam = artikelnaam;
this.categorie = categorie;
this.aantal = aantal;
this.prijs = prijs;
this.subtotaal = subtotaal;
}
// ToString methode
public override string ToString()
{
return artikelnaam "t" categorie "t" aantal "t" prijs "t" subtotaal;
}
Теперь, как мне выбрать товар в списке товаров и отправить его в корзину покупок с помощью кнопки «toevoegen»
Комментарии:
1. В вашей корзине должна быть некоторая коллекция товаров, и в ней не должно повторяться их название, категория и цена.
2. В вашем
WinkelwagenObject
должно быть aList<Artikel>
для хранения вашей коллекции3. Обратите внимание, что не должно быть дублирования информации. То, что принадлежит an
Artikel
, должно оставаться внутриArtikel
. СУХОЙ!4. Почему вы используете поля и автоматически реализуемые свойства одновременно?
Ответ №1:
Вы могли бы создать Add-метод для класса your Cart, который получает Artikel-объект и помещает его в Artikel-Collection следующим образом:
public List<Artikel> ArtikelList { get; private set; }
public void Add(Artikel artikel)
{
if (ArtikelList == null)
ArtikelList = new List<Artikel>();
ArtikelList.Add(artikel);
}
Комментарии:
1. Теперь вы можете использовать свой метод add следующим образом:
public WinkelWagenObject cart = new WinkelWagenObject(); public Artikel newArtikel = newArtikel(); cart.Add(newArtikel);
таким образом, у вас будет экземпляр вашего объекта cart. Затем вы можете просто вызвать его метод Add, указав объект Artikel для добавления в качестве параметра.