Skip to content
C#:クラス名文字列からインスタンスを作る
c-tips
2010-06-29

C#でAbstract Factoryっぽいこと、例えばクラス名文字列からインスタンスを作る。

Java:

WorkClass work = (WorkClass)Class.forName("akibakokoubou.WorkClass").newInstance();

C#:

WorkClass work =(WorkClass)Activator.CreateInstance(Type.GetType("Akibakokoubou.WorkClass"));

みたいな感じらしい(キャスト略。感じだけ)

XMLから要素ごとにインスタンスを作らなければならなくて、かつその要素の種類が多岐にわたる場合によいみたい。まぁやりようは他にもいろいろあるだろうが。