如何从generics定义和generics参数中获取generics类型?

在C#中,我如何从generics定义和generics参数中构造generics类型

var genericDefinition = typeof(List); var genericArgument = typeof(string); // How can I get the Type instance representing List from the 2 variables above? 

在我的用例中,generics参数是动态解析的。 这可能在C#中吗? 提前致谢。

没有typeof(List)这样的东西。 但是, typeof(List<>)工作正常,并且是开放的generics类型。 然后你只需使用:

 var genericDefinition = typeof(List<>); var genericArgument = typeof(string); var concreteListType = genericDefinition.MakeGenericType(new[] {genericArgument}); 

你会发现concreteListTypetypeof(List)