I have often seen code something similar to
class Program
{
static void Main(string[] Args)
{
(new Program()).run();
}
public void run();
{
//code generally seen in main function;
}
}

Can anyone tell me what is the purpose for following such a method of coding and what are the advantages disadvantages for the same?