4

我猜这是一个简单的问题,但在 Type 类的文档中,他们只讨论 GetInterfaces 方法上的接口。

即 typeof(ChildClass).XXX(typeof(ParentClass)

4

3 回答 3

14

这取决于你需要什么;IsAssignableFrom,也许:

bool stringIsObj = typeof(object).IsAssignableFrom(typeof(string));

IsSubclassOf

bool stringIsObj = typeof(string).IsSubclassOf(typeof(object));
于 2009-07-26T21:13:30.587 回答
2

typeof(ParentClass).IsAssignableFrom(typeof(ChildClass))

于 2009-07-26T21:14:10.993 回答
1

我建议你搜索一个等价物。而不是像这样使用“is”关键字:

if (object is class)
{ ... }

您可以像这样简单地比较这两者的类型:

if( typeof(object) == typeof(class)
{ ... }

但是:这是不一样的,“is”关键字可以确定对象类是否属于指定类、该类的继承、实现接口等,而 typeof() 等价只是比较实际类型。

于 2009-07-26T21:18:19.830 回答