Как получить переменные из класса x и установить их в классе y

#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 должно быть a List<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 для добавления в качестве параметра.