Como funciona um construtor estático?

namespace MyNameSpace
{
    static class MyClass
    {
        static MyClass()
        {
            //Authentication process.. User needs to enter password
        }

        public static void MyMethod()
        {
            //Depends on successful completion of constructor
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            MyClass.MyMethod();
        }
    }
}

Aqui está a sequência que assumi

Inicie o construtor estático Fim do construtor estático Início do mainStart of MyMethod Fim de main

Agora, em qualquer cenário, se o 4 iniciar antes de 2, estou ferrado. É possível

questionAnswers(20)

yourAnswerToTheQuestion