Как запустить метод статического инициализатора в C # перед методом Main ()?

Дан статический класс с методом инициализатора:

public static class Foo
{
    // Class members...

    internal static init()
    {
        // Do some initialization...
    }
}

Как я могу убедиться, что инициализатор запущен раньше?Main()

Лучшее, что я могу придумать, это добавить это в:Foo

    private class Initializer
    {
        private static bool isDone = false;
        public Initializer()
        {
            if (!isDone)
            {
                init();
                isDone = true;
            }
        }
    }
    private static readonly Initializer initializer = new Initializer();

Будет ли это работать или есть непредвиденные предостережения? И есть ли лучший способ сделать это?

Ответы на вопрос(3)

Ваш ответ на вопрос