在运行时使用字段类型实例化通用类

Ody*_*dys 3 c# generics

这是第一个问题.我试图使用字段的类型实例化泛型类.

public class ValueRange<type1>
{
    type1 min;
    type1 max;
}

void foo()
{
    int k;
    ValueRange<k.GetType()> range;  
}
Run Code Online (Sandbox Code Playgroud)

这不起作用.有什么建议?
提前致谢

Ben*_*zun 8

样本令人困惑.我怀疑你想要类似的东西

Type genericType = typeof(ValueRange<>).MakeGenericType(k.GetType());
Activator.CreateInstance(genericType);
Run Code Online (Sandbox Code Playgroud)


Noo*_*ilk 6

它需要一个编译时类型,如下所示:

ValueRange<int> range;
Run Code Online (Sandbox Code Playgroud)

值得注意的是,您通常将您的类型命名为"T"; 它只是普遍接受的标准(因此很好阅读).