Activator.CreateInstance failing
<p>I have am creating an Instance dynamically using Activator.CreateInstance. However, it is saying object cannot be null on every attempt. Pasting the code below. Am I doing anything wrong?</p>

<p>Is there any problem if  </p>

<blockquote>
  <p>Activator.CreateInstance</p>
</blockquote>

<p>replaces the conventional switch/case statements for determining the object type in the run-time? Thanks.</p>

<pre><code>public abstract  class Base
{
    public abstract void Func();

}
public  class  Derived:Base
{
    public override void Func()
    {
        MessageBox.Show("Derived First");
    }
}

public class Derived2 : Base
{
    public override void Func()
    {
        MessageBox.Show("Derived Second");
    }
}

private void button1_Click(object sender, EventArgs e)
{
    // I was trying to make use of the overladed version 
    // where it takes the Type as parameter.
    BaseClass report = 
       (BaseClass) Activator.CreateInstance(Type.GetType("Derived")); 
    report.Func();
}
</code></pre>
