我需要创建一个通用类型,但在编译时不知道该类型。我希望能够做到这一点:
Type t = typeof(whatever);
var list = new List<t>
这段代码无法编译,因为t不是一个有效的类型。但它确实知道一个有效的类型。是否有一种方法可以从System.Type动态创建泛型列表呢?我可能需要反射,那也没问题,只是有点迷惑。
就像这样:
Type t;
Type genericListType = typeof(List<>).MakeGenericType(t);
object list = Activator.CreateInstance(genericListType);