考虑一个具有初始化器方法的静态类:
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();
这种方法可行吗?还有没有什么未预见的注意事项?有没有更好的方式?