DOBON.NET DOBON.NETプログラミング掲示板過去ログ

生成するオリジナルクラス名を動的指定

環境/言語:[VB2005]
分類:[.NET]

オリジナルクラスのインスタンスを作成するには

Dim xxx as New xxxCls

としますが、

このxxxClsの部分を動的(=変数)にして使用することはできないでしょうか。

よろしくお願いいたします。
■No28422に返信(ひろこさんの記事)
> Dim xxx as New xxxCls
> このxxxClsの部分を動的(=変数)にして使用することはできないでしょうか。

動的にしたいというのは、[xxx] の部分に応じて、変数名と型とを、
 Dim aaa As New aaaCls()
 Dim bbb As New bbbCls()
のように対応させねばならない、ということなのでしょうか?
変数を動的に作るのは無理なので、配列かコレクションで代用してください。


そうではなく、既にある変数に対して、
 Dim a As Object = New Class1()
もしくは
 Dim b As Class2 = New Class2()
のように、「インスタンスを生成する処理」を動的に行いたいという意図ならば、
Activator.CreateInstance を使う事が出来ます。
http://www.atmarkit.co.jp/fdotnet/dotnettips/386createinstance/createinstance.html
いつもありがとうございます。

URLのHPを参照してうまくいきました。
ありがとうございました。


■No28423に返信(魔界の仮面弁士さんの記事)
> ■No28422に返信(ひろこさんの記事)
>>Dim xxx as New xxxCls
>>このxxxClsの部分を動的(=変数)にして使用することはできないでしょうか。
>
> 動的にしたいというのは、[xxx] の部分に応じて、変数名と型とを、
>  Dim aaa As New aaaCls()
>  Dim bbb As New bbbCls()
> のように対応させねばならない、ということなのでしょうか?
> 変数を動的に作るのは無理なので、配列かコレクションで代用してください。
>
>
> そうではなく、既にある変数に対して、
>  Dim a As Object = New Class1()
> もしくは
>  Dim b As Class2 = New Class2()
> のように、「インスタンスを生成する処理」を動的に行いたいという意図ならば、
> Activator.CreateInstance を使う事が出来ます。
> http://www.atmarkit.co.jp/fdotnet/dotnettips/386createinstance/createinstance.html
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板