通用类型的相等性

Equality of generic types

我正在尝试比较两种类型。 我有 class Foo<Bar> 但我不知道通用参数 我必须知道它是否是 Foo 对象。 以下代码不起作用,我不知道为什么。

foreach (var type in types.Where(t => t.BaseType == typeof(Foo<>))
{
    use(type);
}

我找到了答案。 有一个名为 type.GetGenericTypeDefinition() 的方法,我现在可以将我的对象与此方法 return 类型进行比较。