我有以下静态类
public static class MyFoo<T> where T : class
{
public static IBar<T> Begin()
{
return new Bar<T>();
}
}
在其他地方,我有一个System.Type变量,我需要将其作为Generic Type参数传入,理想情况是:
public void MyFunction(Type type)
{
MyFoo<type>.Begin();
}
我知道通过反射可以返回MyFoo的实例(如果我使它非静态),但这不是理想的。无论如何将类型作为Generic Type参数传递给MyFoo静态类?
答案 0 :(得分:4)
不能这样做。第二个示例中type
变量的值仅在运行时中已知。第一个示例中的T
类型参数必须才能在编译时解析。
相反,请查看Activator.CreateInstance()
。