我希望以下内容返回true
:
var isIt = IsDisposable(typeof(TextWriter));
其中:
bool IsIDisposable(Type t){
???
// I tried:
//return t.IsSubclassOf(typeof(IDisposable)); //returns false
// the other t.IsXXX methods don't fit the requirement as far as I can tell
}
答案 0 :(得分:11)
您可以使用IsAssignableFrom
bool IsDisposable = typeof(IDisposable).IsAssignableFrom(typeof(TextWriter));
答案 1 :(得分:5)
我找到了它:Type.GetInterfaces()是我需要的:
bool IsIDisposable(Type t){
return t.GetInterfaces().Contains(typeof(IDisposable));
}
从文档中,Type.GetInterfaces()
返回:
类型:System.Type []
一个Type对象数组,代表所有 接口由当前类型实现或继承。