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



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

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

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

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

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

你应该发现concreteListTypetypeof(List<string>).

相关内容

  • 没有找到相关文章

最新更新