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)