qual é o equivalente c # do static {…} em Java?

Em Java eu ​​posso escrever:

public class Foo {

    public static Foo DEFAULT_FOO;

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

    public Foo() {
    }

    void init() {
        // initialize
    }
}

Como posso obter o mesmo functionailty em c # (onde membros estáticos são inicializados antes de usar)? E, se isso é uma coisa ruim para tentar fazer, qual é a melhor abordagem?

questionAnswers(2)

yourAnswerToTheQuestion