title: Create an object knowing only the class name?
body: <p>I have a set of classes, each one is a different <a href="http://en.wikipedia.org/wiki/Strategy_pattern" rel="noreferrer">strategy</a> to do the same work. </p>
  
  <pre><code>namespace BigCorp.SuperApp
  {
      public class BaseClass { }
      public class ClassA : BaseClass { }
      public class ClassB : BaseClass { }
  }
  </code></pre>
  
  <p>The choice of which strategy to use is configurable. I want to configure only the class name 'ClassB' instead of the full type name 'BigCorp.SuperApp.ClassB' in the app.config file.</p>
  
  <pre><code>&lt;appConfig&gt;
     &lt;SuperAppConfig&gt;
        &lt;Handler name="ClassB" /&gt;
     &lt;/SuperAppConfig&gt;
  &lt;/appConfig&gt;
  </code></pre>
  
  <p>However, the reflection calls fail because they expect the full type name, particularly</p>
  
  <pre><code>Type t = Type.GetType("ClassB"); // results in t == null
  BaseClass c = Activator.CreateInstance(t) as BaseClass; // fails
  </code></pre>
  
  <p>How can I get this to work while configuring only the class name? Concatenate the namespace to the class name for full type name? Is there another reflection call that works?</p>
  
  <p>If you think this is useless and I should expect the configuration to contain the full type name, I am open to that solution! Just provide rationale to convince me.</p>
  
  <p>(I will not be loading a type from outside this assembly/namespace)</p>