Я использую оператор "is", чтобы найти определенный класс:
for(int i=0; i<screens.Count; i++){
if(screen is ScreenBase){
//do something...
}
}
Это прекрасно работает, особенно когда он находит любой класс, который наследует от ScreenBase, но не базовые классы от ScreenBase.
Я хотел бы сделать то же самое, когда я знаю только тип и не хочу создавать экземпляр класса:
Type screenType = GetType(line);
if (screenType is ScreenBase)
Но это сравнение выдает предупреждение, поскольку оно будет сравниваться с "типом"class.
Единственная известная мне альтернатива - сравнивать с == typeof, но это будет проверять только точный тип, а не унаследованные.Есть ли способ получить подобное поведение, например, оператор "is", но для типа, описанного в классе Type?