1

我有一个 Windows 窗体应用程序,它基于字符串创建控件。

Type t = Type.GetType("System.Windows.Forms.TextBox, System.Windows.Forms");

但我得到 t 为空。

4

2 回答 2

2

您可以使用此代码 - 基于Activator.CreateInstance方法

var textBoxType = typeof(Control).Assembly.GetType("System.Windows.Forms.TextBox", true);
var textBox = Activator.CreateInstance(textBoxType);

链接: http: //msdn.microsoft.com/fr-fr/library/system.activator.createinstance (v=vs.80).aspx

于 2012-09-19T15:59:18.553 回答
1

您可以指定程序集的全名(因为这个在GAC中),如下所示(即使在框架 4 中它也会取回好的程序集):

Type.GetType("System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");
于 2012-09-19T16:04:43.823 回答