Próbuję policzyć, ile z każdego rodzaju obiektów znajduje się w słowniku, aby je wyświetlić, jednak podczas liczenia obiektów typu Amator zlicza również wszystkie obiekty typu Profesjonalista i Celebrytki, ponieważ są one dziećmi Amatora. Czy mimo to można to naprawić BEZ usuwania dziedzictwa i liczenia tylko obiektów typu Amateur?Liczenie obiektów typu bez liczenia obiektów podrzędnych, możliwe?
Przykładowy kod:
private void GetTotalEntries()
{
string amateurEntries;
string profEntries;
string celebEntries;
amateurEntries = manager.competitors.Values.OfType<Amateur>().Count().ToString();
profEntries = manager.competitors.Values.OfType<Professional>().Count().ToString();
celebEntries = manager.competitors.Values.OfType<Celebrity>().Count().ToString();
EntriesTextBox.Text = "Amateur Entries:" + amateurEntries + "\nProfessional Entries:" + profEntries + "\nCelebrity Entries:" + celebEntries;
}
IMHO, Twój dziedziczenie nie ma większego sensu. jeśli cokolwiek, chciałbym, aby te klasy dziedziczyły pojedynczą klasę zwaną Konkurentem. –