CreateInstanceメソッドで作成したインスタンスはobjectで返されます。 そのためインスタンスを使用する際、既知の型の場合はその型にキャストするか、あるいはobject型のまま後述する方法でリフレクションによって操作を行います。

Activator.CreateInstanceで作成したインスタンスをリフレクションによって操作する
using System;
using System.Reflection;

class C {
  public void M()
  {
    Console.WriteLine("Hello, world!");
  }
}

class Sample {
  static void Main()
  {
    Type t = typeof(C);

    object inst = Activator.CreateInstance(t);

    // InvokeMemberメソッドを使って作成したインスタンスのメソッドMを呼び出す
    t.InvokeMember("M", BindingFlags.InvokeMethod, null, inst, null);

    // インスタンスをキャストして直接メソッドMを呼び出す
    C c = (C)inst;

    c.M();
  }
}
実行結果
Hello, world!
Hello, world!

このように、型情報が取得できれば動的にインスタンスを作成して操作することができます。 また、動的にアセンブリを読み込み、読み込んだアセンブリに含まれるインスタンスを作成するといったことも可能です。

Activator.CreateInstanceメソッドのほか、後述するType.InvokeMemberメソッドConstructorInfo.Invokeメソッドを使うことによって型情報からインスタンスを作成することもできます。