我猜这是一个简单的问题,但在 Type 类的文档中,他们只讨论 GetInterfaces 方法上的接口。
即 typeof(ChildClass).XXX(typeof(ParentClass)
我猜这是一个简单的问题,但在 Type 类的文档中,他们只讨论 GetInterfaces 方法上的接口。
即 typeof(ChildClass).XXX(typeof(ParentClass)
这取决于你需要什么;IsAssignableFrom,也许:
bool stringIsObj = typeof(object).IsAssignableFrom(typeof(string));
或IsSubclassOf
:
bool stringIsObj = typeof(string).IsSubclassOf(typeof(object));
typeof(ParentClass).IsAssignableFrom(typeof(ChildClass))
我建议你搜索一个等价物。而不是像这样使用“is”关键字:
if (object is class)
{ ... }
您可以像这样简单地比较这两者的类型:
if( typeof(object) == typeof(class)
{ ... }
但是:这是不一样的,“is”关键字可以确定对象类是否属于指定类、该类的继承、实现接口等,而 typeof() 等价只是比较实际类型。