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

标签 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/

相关文章:

c# - 使用 MVC3 后操作后嵌套模型丢失

C# 将外部程序集中的属性标记为已过时?

c# - 跟踪列数据更改以供高级分析师审查

c# - 调试 winform 崩溃 - C# [ADPlus + Windbg]

c# - 在 ListBoxItem DataTemplate - WPF 内的嵌套控件中处理相同的单击事件

c# - 添加对 QuartzTypeLib 的程序集引用

c# - .NET 服务系统.Net.Sockets.SocketException : 'No such host is known'

c# - Isortable<T> 实现

c# - 在 Unity 中读取串口 "COM3"。连接建立成功,但未调用 DataReceived Handler

c# - 如何卸载使用 RunAndCollect 创建的动态程序集?