C# 获取泛型类型的类型对象(不存在该对象的实例)

C# 获取泛型类型的类型对象(不存在该对象的实例),c#,.net,generics,C#,.net,Generics,我有一个通用类foo。我有一个名为bar的类型对象 如何获取类型foo?我见过当您有对象的实例时使用factory类型设置的示例,但我没有实例 一些代码: public class foo<T> { } public Type GetGenericFoo(Type bar) { Type genericFooBar = null; //work magic return genericFooBar; } 公共类foo { } 公共类型GetGeneric

我有一个通用类
foo
。我有一个名为
bar
的类型对象

如何获取类型
foo
?我见过当您有对象的实例时使用factory类型设置的示例,但我没有实例

一些代码:

public class foo<T>
{

}

public Type GetGenericFoo(Type bar)
{
    Type genericFooBar = null;
    //work magic
    return genericFooBar;
}
公共类foo
{
}
公共类型GetGenericFoo(类型栏)
{
类型genericFooBar=null;
//变魔术
返回genericFooBar;
}
关于:

typeof(foo<>).MakeGenericType(bar)
typeof(foo).MakeGenericType(bar)
因此,在您的代码中,它将类似于:

public Type GetGenericFoo(Type bar)
{
    return typeof(foo<>).MakeGenericType(bar);
}
public类型GetGenericFoo(类型栏)
{
返回typeof(foo).MakeGenericType(bar);
}
应该是
typeof(foo)
typeof(foo)
应该是
typeof(foo)