title: PropertyInfo.GetValue(null, null) returns null
body: <p>i have a class with a static public property called "Info". 
  via reflection i want to get this properties value, so i call:</p>
  
  <pre><code>PropertyInfo pi myType.GetProperty("Info");
  string info = (string) pi.GetValue(null, null);
  </code></pre>
  
  <p>this works fine as long as the property is of type string. but actually my property is of type IPluginInfo and a PluginInfo type (implementing IPluginInfo) is instatiated and returned in the Info properties get accessor, like this:</p>
  
  <pre><code>public static IPluginInfo PluginInfo
  {
      get 
      {
          IPluginInfo Info = new PluginInfo();
          Info.Name = "PluginName";
          Info.Version = "PluginVersion";
          return Info;
      }
  }
  </code></pre>
  
  <p>like this when i call:</p>
  
  <pre><code>IPluginInfo info = pi.GetValue(null, null) as IPluginInfo;
  </code></pre>
  
  <p>info is always null, whiel PropertyInfo pi is still valid. am i missing something obvious here?</p>