Uzyskanie obiektu, który utworzył klasę z jej instancji

0

Nie wiem czy ta nazwa tematu w ogole podpowiada o co moze chodzic ale jestem poczatkujacy i mialem problem z dobrym okresleniem problemu :D

    class Kontakty
    {
         public List<Osoba> listaZnajomych = new List<Osoba>();
         public DodajZnajomego(Osoba o)
         {
              listaZnajomych.Add(o);
              //no i teraz chcialbym dodac w druga strone, tzn. do listy znajomych osoby o dodac osobe ktora wywolala te metode
         }
    }
    class Osoba
    {
         public Imie {get; set; }
         public Nazwisko {get; set; }
         
         public Kontakty kontakty = new Kontakty();
    } 

Jak coś takiego uzyskac i czy ma to sens?

Czy może tworzenie klasy Kontakty to błąd i powinienem w klasie osoba dodać:

 List<Osoba> listaZnajomych = new List<Osoba>();

?
Wtedy dodawanie w dwie strony nie byłoby problemem.

0

object.GetType() ?

2

Chyba tak by było lepiej

class Osoba
    {
         public string Imie {get; set; }
         public string Nazwisko {get; set; }
         public List<Osoba> Kontakty = new List<Osoba>();

         public void DodajKontakt(Osoba os)
         {
               Kontakty.Add(os);
               os.Kontakty.Add(this);
         }
    }

I później:

 
Osoba ja = new Osoba() { Imie = "asdf", Nazwisko = "sadf" };
ja.DodajKontakt(new Osoba() { Imie = "sf", Nazwisko = "dfsdfs" });

Ale wydaje mi się że to też nie jest najlepsze rozwiązanie.

0

Takie coś miałem wcześniej ale pomyślałem że może lepiej bedzie zrobic osobna klase na kontakty, w ktorej beda metody takie jak np. AddContact,RemoveContact,CheckCommonContacts.

Przy klasie Kontakty tak jak podalem moglbym przekazywac przez referencje obiekt Person ktory tworzy klase i zapisywac go w dodatkowym polu klasy Kontakty, ale tez nie wiem czy to dobre rozwiazanie.

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