在Java中我可以写:
public class Foo {
public static Foo DEFAULT_FOO;
static {
DEFAULT_FOO = new Foo();
// initialize
DEFAULT_FOO.init();
}
public Foo() {
}
void init() {
// initialize
}
}
Run Code Online (Sandbox Code Playgroud)
如何在C#中获得相同的功能(静态成员在使用前初始化)?并且,如果尝试这样做是件坏事,那么更好的方法是什么?
C#静态构造函数和Java静态块之间的真正区别是什么?
它们都必须是无参数的.当首次使用相关类时,它们都只被调用一次.
我错过了什么,或者他们是同一件事,只是用不同的名字?