What exactly are Static Constructor in C#?
<p>I have couple of question regarding Static Constructor in C#.</p>

<ol>
<li>What exactly are Static Constructor and how they are different from non-static Constructor.</li>
<li>How can we use them in our application ?</li>
</ol>

<p><em>*</em>*Edited </p>

<pre><code>public class Test
{
    // Static constructor:
    static Test()
    {
        Console.WriteLine("Static constructor invoked.");
    }

    public static void TestMethod()
    {
       Console.WriteLine("TestMethod invoked.");
    }
}

class Sample
{
    static void Main()
    {
        Test.TestMethod();
    }
}
</code></pre>

<p>Output : 
Static constructor invoked.
TestMethod invoked. 
So, this means that static constructor will be called once. if we again call  Test.TestMethod(); static constructor won't invoke.</p>

<hr>

<p>Any pointer or suggestion would be appreciated
 '</p>

<p>Thanks </p>
