Ich denke, Sie müssen eine der beiden Type.GetType()
Überlastungen mit Activator.CreateInstance
um eine Fabrikmethode wie die von Ihnen beschriebene zu erstellen.
Einschlägige Dokumente:
bearbeiten Mir ist gerade eingefallen, dass, wenn Sie in der Lage sind, den Typ-Cast zu verwenden, wie in Ihrem Codeschnipsel gezeigt, Reflexion absolut unnötig sein sollte. Wenn Sie die Möglichkeit haben, eine Variable zu deklarieren als DropDownList
dann ist es weitaus einfacher, einfach die = new DropDownList();
und nennen es gut.
Bearbeiten 2 Für einen Moment gab es einen Beitrag, der Ihre Absicht richtig erkannt haben könnte. Wenn Sie nach einer Kontrolle suchen, die existiert bereits und Sie haben einen Handle auf seinen Namenscontainer (der die Seite oder ein datengebundenes Steuerelement sein kann), dann können Sie das Steuerelement mit der FindControl
Methode und dann auf den entsprechenden Typ.
Einschlägige Dokumente: http://msdn.microsoft.com/en-us/library/486wc64h.aspx
0 Stimmen
Sie können solche Steuerelemente nicht ohne eine
HttpContext
. Es wäre besser, Ihr Szenario zu erklären.0 Stimmen
Geben Sie außerdem an, ob es sich um ein benutzerdefiniertes (Server-)Steuerelement oder ein Benutzersteuerelement handelt.
0 Stimmen
Es handelt sich um ein ASP.NET-Server-Steuerelement.