title: Why can't GetType() find types when invoked through a method group delegate?
body: <p>We have a very simple program invoking the <code>Type.GetType</code> static method. Both examples should return a valid type instance. Only the second one actually is. Looks like something odd is happening with the stack crawl used by <code>GetType</code>, but what exactly is the issue here? Is it bug or some obscure feature?</p>
  
  <pre><code>public class TestClass { }
  
  class Program
  {
      static void Main(string[] args)
      {
          var fullName = typeof(TestClass).FullName;
          Console.WriteLine("Full name: {0}", fullName);
  
          new[] { fullName }.Select(Type.GetType).ToList().ForEach(t =&gt; Console.WriteLine("Method group: '{0}'", t));
          new[] { fullName }.Select(t =&gt; Type.GetType(t)).ToList().ForEach(t =&gt; Console.WriteLine("Closure: '{0}'", t));
      }
  }
  </code></pre>
  
  <p>Running:</p>
  
  <pre><code>Full name: GetTypeBeingWeird.TestClass
  Method group: ''
  Closure: 'GetTypeBeingWeird.TestClass'
  </code></pre>