クラスの動的生成あれこれ(その1)

  • Activator.CreateInstance (Type, Boolean) のサンプル


// デフォルトコンストラクタのみ(ただし、コンストラクタがprotectedでもprivateでもOK)
// 2つめの引数、false なら、コンストラクタがpublicでなければ例外になる
// つまり、Activator.CreateInstance (Type) と同じになる
CC cc = System.Activator.CreateInstance(typeof(CC),true) as CC;

  • Activator.CreateInstance (Type, Object[]) のサンプル


C1 c1 = System.Activator.CreateInstance(typeof(C1),new object[]{ 3, "hoge"}) as C1;

class C1
{
public C1(int i, string s)
{
}
}