将类型变量作为泛型类型参数传递给静态类
本文关键字:参数传递 静态类 泛型类型 类型变量 | 更新日期: 2023-09-27 18:36:16
>我有以下静态类
public static class MyFoo<T> where T : class
{
public static IBar<T> Begin()
{
return new Bar<T>();
}
}
在其他地方,我有一个 System.Type 变量,我需要将其作为泛型类型参数传入,理想情况下:
public void MyFunction(Type type)
{
MyFoo<type>.Begin();
}
我知道通过反射可以返回 MyFoo 的实例(如果我让它成为非静态的),但这并不理想。无论如何,可以将类型作为泛型类型参数传递给MyFoo静态类吗?
做不到。第二个示例中type
变量的值仅在运行时已知。必须在编译时解析第一个示例中的T
类型参数。
相反,请查看Activator.CreateInstance()
。