używam „jest” operator znaleźć pewną klasę:„jest” - operator dla typu
for(int i=0; i<screens.Count; i++){
if(screen is ScreenBase){
//do something...
}
}
Działa to dobrze, zwłaszcza, że znajdzie każdą klasę, która dziedziczy z ScreenBase ale nie zajęcia bazą ScreenBase.
chciałbym zrobić to samo, gdy wiem tylko typ i nie chcą instancję klasy:
Type screenType = GetType(line);
if (screenType is ScreenBase)
Ale to comparsion generuje ostrzeżenie, jak to porównać do klasy „Type” .
Jedyną alternatywą, którą znam, byłoby porównanie z == typof, ale testowałoby to tylko dla typu dokładnego, a nie dziedziczonego. Czy istnieje sposób na uzyskanie podobnego zachowania, jak operator "jest", ale na typ opisany przez klasę Typ?