1

ASP.NET 3.5に、WebControlを動的に作成するWebページがあります。作成するWebControlは、完全修飾パス(つまり、System.Web.UI.WebControls.whatever)によって認識されます。これは、Webページでどのコントロールを使用するかをユーザーが決定できるようにするためです。もちろん、これよりも複雑ですが、一言で言えばそれだけです。

簡単に言えば、完全修飾パスを使用してWebページ上に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 に答える