Klasa bazowa dla List

JU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5052
0

Cześć, mam takie pytanie. Załóżmy, że mam kilka klas pochodnych, które mają mieć listę elementów odpowiedniego typu:

Kopiuj
 
class BaseClass<T>
{
  List<T> m_list;
}

class IntClass: BaseClass<int>
{

}

class DoubleClass: BaseClass<double>
{

}

Teraz chciałbym móc w jakiejś metodzie przekazać obiekt dziedziczący po klasie BaseClass:

Kopiuj
 
void DoSomething(BaseClass obj)
{
}

Oczywiście tak się nie da. Nie chcę też, żeby metoda DoSomething była generyczna. W jaki sposób można coś takiego osiągnąć?

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1
Kopiuj
void DoSomething(BaseClass<T> obj)
{
}
ZA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 55
1

Istnieje jeszcze jeden sposób rozwiązania tego problemu, jako alternatywa dla powyższego rozwiązania: implementacja interfejsu i przekazywanie jako argumentu jego referencji

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.