Как запустить метод статического инициализатора в C # перед методом Main ()?
Дан статический класс с методом инициализатора:
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();
Будет ли это работать или есть непредвиденные предостережения? И есть ли лучший способ сделать это?