考虑:
class Foo
{
static Foo()
{
// Static initialisation
}
}
为什么()
需要 in static Foo() {...}
?静态构造函数必须始终是无参数的,那何必呢?它们是否有必要避免一些解析器的歧义,或者只是为了保持与常规无参数构造函数的一致性?
因为它看起来很像一个初始化程序块,所以我经常发现自己不小心把它们排除在外,然后不得不考虑几秒钟来思考哪里出了问题。如果可以以相同的方式省略它们,那就太好了。