首页 / 问答 / C#/.NET/.NET Core应用程序编程开发中如何判断一个类是继承自泛型类?

C#/.NET/.NET Core应用程序编程开发中如何判断一个类是继承自泛型类?

.NET C# class 泛型 .NET Core 1.91K 次浏览
0

在C#/.NET/.NET Core应用程序编程开发中,给定一个子类,如何判断这个子类是否继承自一个泛型基类,如:

public interface GenericInterface<T> { }
public class GenericClass<T> : GenericInterface<T>
{
}

public class Test : GenericClass<int>
{
}
var test = new Test();

如何判断实例test是否继承自GenericClass<T>这个泛型基类呢?

回复 [×]
提交评论
请输入评论内容

2 个回答

  • 0

    创建一个静态扩展方法,此方法兼容泛型基类和泛型接口,以及任何数量的初始化参数和子类等情形,如下:

    完整调用示例如下:

    Rector的个人主页

    Rector

    2020-04-27 回答

    • 0

      调用Type.IsGenericType属性来循环判断,如下:

      完整示例代码如下:

      Rector的个人主页

      Rector

      2020-04-27 回答

      我来回答