如何从字符串中获取类型



为什么var type = Type.GetType("System.Windows.Forms.TextBox");返回null

我正在尝试从string中获取TextBox类型的类型。

您也应该包括完整的程序集名称:

var type = Type.GetType("System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");

请注意MSDN上的文档(重点是我的):

要获取…的类型的程序集限定名称。。。如果类型在当前执行的程序集中或Mscorlib.dll中,则只要提供由其命名空间限定的类型名称就足够了。

因此,只能使用类型名称解析mscorlib和Assembly.GetExecutingAssembly(),否则也需要完整的程序集名称。

您还应该包括程序集名称和公共令牌等:

var type = Type.GetType("System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");

相关内容

  • 没有找到相关文章

最新更新