如何将我的参数转换为正确的类型声明.IE浏览器.如何从去type到T下面
class Foo<T>
{
Foo<??> MakeFoo(Type type)
{
return new Foo<??>();
}
Void Get(T aFoo)
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
你不能.
通用参数由编译器使用和应用,同时Type是Thinking的一部分,旨在在运行时使用类型信息.因此,如果只有,则无法定义应使用哪种类型的编译器System.Type.
但是你可以做相反的事情:
public void Foo<T>()
{
Type t = typeof(T);
}
Run Code Online (Sandbox Code Playgroud)
因此,如果您确实不需要将其Type用作参数,则可以执行以下操作:
Foo<FooParam> MakeFoo<FooParam>()
{
return new Foo<FooParam>();
}
Run Code Online (Sandbox Code Playgroud)