1

我在 ASP.NET 3.5 中有一个网页,它将动态创建 WebControls。它将通过其完全限定路径(即 - System.Web.UI.WebControls.whatever)知道它将创建的 WebControl。这样做的原因是因为我允许用户决定将在网页上进行哪些控件。当然,还有比这更复杂的,但简而言之就是这样。

简而言之 - 如何通过完全限定的路径在网页上创建 WebControl?

我意识到答案可能最终会使用反射,但我几乎没有使用反射的经验,我不想因犯新手错误而自取其辱。

4

2 回答 2

3

尝试这样调用:Activator.CreateInstance(Type.GetType("TypeName"));

其中 TypeName 是完全限定名称,包括程序集。就我而言,它看起来是这样的:

Activator.CreateInstance(Type.GetType("System.Web.UI.WebControls.Label, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"));

要确定您的全名,请尝试输出typeof(System.Web.UI.WebControls.Label).FullName并将其用作模式

于 2010-03-02T18:21:26.150 回答
1
object widget = Activator.CreateInstance ( Assembly.GetType ( name ) );

其中 name 是完全限定类型的字符串

于 2010-03-02T18:18:34.747 回答