我正在使用两种类型,一种是通用的,另一种不是。我没有对象的实例,但我想找出if ( MyType is T )
或换句话说if ( MyType inherits T)
同样,我正在寻找:
if ( Truck is Vehicle )
不
if ( MyTruckObject is Vehicle)
答案 0 :(得分:11)
答案 1 :(得分:5)
尝试:
if (typeof(Truck).IsSubclassOf(typeof(Vehicle)))
答案 2 :(得分:2)
嗯,给定泛型类型参数,你可以做类似的事情:
if (typeof(Vehicle).IsAssignableFrom(typeof(T)))
{
}
或者,将约束应用于方法以确保它:
public void DoSomething<T>() where T : Vehicle
{
}