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

时间:2010-07-20 06:40:04

标签: c#

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

我已经尝试过了:

 Type.GetType("List<String>");
 Type.GetType("System.Collections.Generic.List.String"); // Or [String]

请注意,我无法使用typeof,因为我获取的类型值是字符串。

4 个答案:

答案 0 :(得分:19)

您无法从"List<String>"获取,但可以从Type.GetType获取:

Type type = Type.GetType("System.Collections.Generic.List`1[System.String]");

在这种情况下你很幸运 - List<T>string都在mscorlib中,因此我们不必指定程序集。

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

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

答案 1 :(得分:3)

您可以使用typeof运算符。

typeof(List<String>)

请参阅此问题:C# How can I get Type from a string representation

答案 2 :(得分:1)

System.Type type = typeof(List<String>);

答案 3 :(得分:0)

typeof(List<string>)