<分区>
如何获取 "List<String>"
的类型在 C# 中使用 Type.GetType()
?
我已经试过了:
Type.GetType("List<String>");
Type.GetType("System.Collections.Generic.List.String"); // Or [String]
请注意,我不能使用 typeof
因为我得到的类型的值是一个字符串。
标签 c#
<分区>
如何获取 "List<String>"
的类型在 C# 中使用 Type.GetType()
?
我已经试过了:
Type.GetType("List<String>");
Type.GetType("System.Collections.Generic.List.String"); // Or [String]
请注意,我不能使用 typeof
因为我得到的类型的值是一个字符串。
最佳答案
你不能从"List<String>"
得到它, 但你可以从 Type.GetType
得到它:
Type type = Type.GetType("System.Collections.Generic.List`1[System.String]");
在这种情况下你很幸运 - 都是 List<T>
和 string
在 mscorlib 中,因此我们不必指定程序集。
`1 部分指定类型的arity:它有一个类型参数。方括号中的位指定类型参数。
你从哪里得到 List<String>
从?你能改变你的要求吗?这将比解析字符串、找出类型参数的位置、在不同的命名空间和程序集中查找类型等更容易。如果您在有限的上下文中工作(例如,您只需要支持一组已知的类型)对一些细节进行硬编码可能是最简单的。
关于c# - 如何在 C# 中获取 List<String> 的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3287590/