c# - 确定 myinstance 是否为 Generic<T>

标签 c# generics

这个问题在这里已经有了答案:





Check if a class is derived from a generic class

(16 个答案)


7年前关闭。




给定一个通用类定义 BaseClass<T> ,是否可以测试这种情况?
if (myvar is BaseClass<>)
我想知道 myvar 是否派生自泛型类,但我不知道(或关心)什么 T可能。

我认为答案是否定的……我的后备计划是通过 myvar.GetType().ToString().Contains("BaseClass<") , 或者其他的东西。

最佳答案

像这样:

if (myVar.GetType().IsGenericType
 && myVar.GetType().GetGenericTypeDefinition() == typeof(BaseClass<>))

关于c# - 确定 myinstance 是否为 Generic<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6784293/

相关文章:

c# - 无法使用 C# 使用 Selenium WebDriver 以隐身模式启动 Chrome

c# - 使用 C# 的 HTTP 请求

java - 使用泛型的 Collector.toMap

c# - 使用基类列表中的项目到泛型方法

java - 如何使用泛型调用带有类参数的方法?

c# - 复合 linq 查询

c# - 泛型中的多态性 - 传递继承对象时出现编译错误(无法隐式转换类型)

c# - 未知类型 ViewModelLocator

Java:如何在运行时获取泛型类型?

c# - 没有通用扩展方法的类型推断