Komunikacja z klasą nadrzędna

0

Proszę o radę bardziej doświadczonych programistów. :)

Mam sobie klasę, która posiada kolekcję obiektów innej klasy:

 public class obiekt1
{
  // wnętrze klasy
}

public class duza_klasa
{
  public List<obiekt1> kolekcja1;
}

Listę obiektów wyświetlam przy pomocy WPF i databindingu. Pytanie dotyczy sytuacji, kiedy wywołuje jakąś akcję w jednym z obiektów, na przykład chcę go usunąć. Zatem z wnętrza klasy obiekt1 muszę się dostać do obiektu, który zawiera jego kolekcję i tam wykonać kolekcja1.Remove. Robię to umieszczając w każdym z obiektów obiekt1 delegat do metody duza_klasa, który przekazuje w konstruktorze. Jest to jednak mocno uciążliwe. Moje pytanie brzmi: czy istnieje jakiś prostszy i bardziej elegancki sposób na komunikowanie się pomiędzy tymi klasami?

2

Nie rozumiem, dlaczego chcesz się komunikować między tymi dwiema klasami. Przecież wystarczy operować na samej kolekcji; jeśli chcesz obiekt usunąć, wywalasz go z kolekcji. Jeśli potem nic innego nie wskazuje na ten obiekt, garbage collector sam go usunie. A w ogóle w jaki sposób sam "usuwasz" obiekt?

0
Hrypa napisał(a):

Nie rozumiem, dlaczego chcesz się komunikować między tymi dwiema klasami. Przecież wystarczy operować na samej kolekcji; jeśli chcesz obiekt usunąć, wywalasz go z kolekcji. Jeśli potem nic innego nie wskazuje na ten obiekt, garbage collector sam go usunie. A w ogóle w jaki sposób sam "usuwasz" obiekt?

Załóżmy że w posiadam kolekcję obiektów samochód. Wyświetlam tę listę w ListBoxie, każdemu obiektowi przypisując drobny panel, w którym znajdują się informacje o samochodzie oraz przycisk usuń. Zbindowanie akcji przycisku do funkcji tego konkretnego obiektu to sekunda.

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