如何在C#中获取List <String>的类型?

sca*_*man 7 c#

如何"List<String>"使用C#中的类型Type.GetType()

我已经尝试过了:

 Type.GetType("List<String>");
 Type.GetType("System.Collections.Generic.List.String"); // Or [String]
Run Code Online (Sandbox Code Playgroud)

请注意,我无法使用,typeof因为我得到的类型的值是一个字符串.

Jon*_*eet 19

你无法得到它"List<String>",但你可以从Type.GetType以下方面得到它:

Type type = Type.GetType("System.Collections.Generic.List`1[System.String]");
Run Code Online (Sandbox Code Playgroud)

你在这种情况下,幸运的-既List<T>string在mscorlib程序,所以我们没有指定组件.

`1部分指定了类型的arity:它有一个类型参数.方括号中的位指定类型参数.

你刚刚List<String>从哪里来?你能改变你的要求吗?它比解析字符串,计算类型参数的位置,在不同的命名空间和程序集中查找类型等更容易.如果您在有限的上下文中工作(例如,您只需要支持一组已知的类型)对某些细节进行硬编码可能是最容易的.