title: Static constructor is called before any static members are referenced
body: <p>According to the docs:</p>
  
  <blockquote>
    <p>A static constructor is used to initialize any static data, or to perform a particular action that needs to be performed once only. It is called automatically <strong>before</strong> the first instance is created or <strong>any static members are referenced</strong>.</p>
  </blockquote>
  
  <p>But i saw in stackoverflow post, the following quote from the C# specification:</p>
  
  <blockquote>
    <p>If a static constructor (§10.12) exists in the class, execution of the static field initializers occurs immediately <strong>prior</strong> to executing that static constructor.</p>
  </blockquote>
  
  <p>It's contradicting, i don't understand what come first, the static constructor or the static member initialization.</p>