【发布时间】:2011-09-18 19:10:01
【问题描述】:
我使用“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)
但是这种比较会产生一个警告,因为它将与“类型”类进行比较。
我知道的唯一替代方法是与 ==typeof 进行比较,但这只会测试确切的类型,而不是继承的类型。 有没有办法获得类似“is”运算符的类似行为,但对于 Type-class 描述的类型?
【问题讨论】: