что такое эквивалент C # статического {...} в Java?

На Java я могу написать:

public class Foo {

    public static Foo DEFAULT_FOO;

    static {
        DEFAULT_FOO = new Foo();
        // initialize 
        DEFAULT_FOO.init();
    }

    public Foo() {
    }

    void init() {
        // initialize
    }
}

Как я могу получить ту же функцию в C # (где статические члены инициализируются перед использованием)? И, если это плохая вещь, чтобы попытаться сделать, что является лучшим подходом?

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

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