2
类
我有以下静态类传递类型变量作为一般类型参数为静态
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静态类?
首先,如果你使它不是静态的,你不需要反射,你可以强制一个无参数的构造函数,在'T'上有一个通用约束。其次,你想在这里解决什么问题?为什么不是T的一个参数MyFunction(它可以推断为你) –
看到这篇文章http://stackoverflow.com/questions/5858591/c-sharp-static-types-cannot-be-used-as-type - 参数 – Sorceri
谢谢你回到我身边。 @BenjaminGruenbaum不幸的是,我不能透露太多,但如果可能的话,这对我来说是最有利的,这样可以为我自己节约很多时间,形成我继承的东西。我将解除这种情况!谢谢。 – EverythingGeek