Como posso executar um método de inicialização estática em c # antes do método Main ()?
Dada uma classe estática com um método inicializador:
public static class Foo
{
// Class members...
internal static init()
{
// Do some initialization...
}
}
Como posso garantir que o inicializador seja executado antesMain()
?
O melhor que posso pensar é adicionar isso aFoo
:
private class Initializer
{
private static bool isDone = false;
public Initializer()
{
if (!isDone)
{
init();
isDone = true;
}
}
}
private static readonly Initializer initializer = new Initializer();
Isso funcionará ou haverá algumas advertências imprevistas? E há alguma maneira melhor de fazer isso?