Singleton: create instance inside static constructor : <p>I was reading about Singleton design pattern when i come across this implementation:</p>

<pre><code>public class Singleton
{
    private static Singleton Instance { get; private set; }

    private Singleton()
    {
    }

    static Singleton()
    {
        Instance = new Singleton();
    }
}
</code></pre>

<p>Is this singleton thread safe? What are pros and cons of such implementation?  </p>
