在 C# 编程中,经常需要将表示类名的字符串动态转换为其对应的类型。然而,使用 Type.GetType("System.Int32")
这种默认方法只适用于位于 mscorlib
或调用程序集中的类型。
对于位于其他程序集中的类,则需要采用不同的方法。通过在字符串中包含程序集名称,可以成功检索所需的类型:
Type type = Type.GetType("命名空间.我的类, 我的程序集");
如果程序集具有强名称,则必须包含其详细信息。更多指导,请参考 Type.GetType(string)
文档。
或者,假设您持有目标程序集的引用,例如通过已知类型。在这种情况下,Assembly.GetType
提供了一种便捷的解决方案:
Assembly asm = typeof(某个已知类型).Assembly; Type type = asm.GetType(带命名空间的类型名称);
利用以上技术,您可以轻松地在 C# 中实现字符串到类型的转换,从而充分发挥动态类型检索的潜力。
以上是如何在 C# 中将字符串转换为类型?的详细内容。更多信息请关注PHP中文网其他相关文章!