class Foo
{
static Foo()
{
System.Console.WriteLine("Ciao!");
}
static void Main(){}
}
Questo innocente snippet stampa a console Ciao! pur avendo un Main vuoto. Per evitare stranezze di questo tipo, ho tirato fuori una best practice per i Main: evitare di avere un costruttore di tipo nella classe che contiene l'entry point.