假设以下类型定义:
public interface IFoo<T> : IBar<T> {} public class Foo<T> : IFoo<T> {}
当只有重整类型可用时,如何确定该类型是否Foo实现了泛型接口?IBar<T>
Foo
IBar<T>
通过使用 TcKs 的答案,也可以使用以下 LINQ 查询来完成:
bool isBar = foo.GetType().GetInterfaces().Any(x => x.IsGenericType && x.GetGenericTypeDefinition() == typeof(IBar<>));