title: ArgumentNullException with StaticExtension
body: <h2>Problem</h2>
  
  <p>This works:</p>
  
  <pre><code>&lt;Style TargetType="{x:Type Button}"&gt;
       &lt;Style.BasedOn&gt;
            &lt;x:StaticExtension Member="l:SharedResources.ButtonStyle" /&gt;
       &lt;/Style.BasedOn&gt;
  &lt;/Style&gt;
  </code></pre>
  
  <p>But with this:</p>
  
  <pre><code>&lt;Style TargetType="{x:Type Button}"
         BasedOn="{x:Static l:SharedResources.ButtonStyle}" /&gt;
  </code></pre>
  
  <p>I get an <code>ArgumentNullException</code> at <code>StaticExtension.MemberType.set(System.Type value)</code> with the message:</p>
  
  <blockquote>
    <p>Value cannot be null.<br>
    Parameter name: value</p>
  </blockquote>
  
  <p>Why?</p>
  
  <hr>
  
  <h3>Possibly useful background information</h3>
  
  <ul>
  <li><p><code>l:SharedResources</code> is a static class with multiple static <code>Style</code> properties</p>
  
  <pre><code>public class SharedResources : ResourceDictionary
  {
      // other stuff
      public static Style ToolBarButtonStyle { get { /* stuff */ } }
      // other styles
  }
  </code></pre>
  
  <p>and using the styles in xaml has worked without a hitch except in the case above.</p></li>
  <li><p>A breakpoint at the property getter is never hit before the exception, but in the working case, it does get hit.</p></li>
  </ul>