przeciążanie operatora + jako dodawanie do listy

0

Witam
mam pewien problem, muszę przeciążyć operator + żeby za jego pomocą dodawać elementy do listy(zamiast list.add())
class Sklep
{
public List<Towar> towary;

public Sklep()
{
    towary = new List<Towar>();
}

public static List<Towar> operator+(Towar t1)
{
towary.Add(t1);
return towary;
}
}

przy próbie dodania towaru w funkcji main przez: lista = lista + towar wyskakuje mi błąd ze nie mogę tak używać znaku +
Prosiłbym bardzo o pomoc w ewentualnym poprawieniu powyższego kodu

0

Musisz dziedziczyć po List<Towar> i dopiero wewnątrz tej klasy przeciążyć operator w taki sposób:

class MyList : List<Towar>
{
    public static MyList operator +(MyList list, Towar t)
    {
        list.Add(t);
        return list;
    }
}

...

MyList list = new MyList();
list += new Towar();
1
class Sklep : List<Towar>
{
    public static Sklep operator +(Sklep towary, Towar t1)
    {
        towary.Add(t1);
        return towary;
    }
}

Ale to jest zło w czystej postaci i będziesz za to smażył się w piekle.

0

podziękować panom za szybką i rzeczową odpowiedz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1