我在ASP.NET 3.5中有一个动态创建WebControl的网页。它将创建的WebControl将通过其完全限定的路径(即 - System.Web.UI.WebControls.whatever)来了解。这是因为我允许用户决定在网页上进行哪些控制。当然,复杂性比这更复杂,但简而言之就是这样。
简单地说 - 如何通过完全合格的路径在网页上创建WebControl?
我意识到答案可能会最终使用反射,但我没有使用反射的经验,我不想通过制造新手的错误射击自己。
答案 0 :(得分: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
并将其用作模式
答案 1 :(得分:1)
object widget = Activator.CreateInstance ( Assembly.GetType ( name ) );
其中name是完全限定类型的字符串