By default the type modifier for every member in a class is a private, even the Main() function type modifier is private. How does the CLR call the main method which is not visi
Try using ildasm on your code and lookout for the main method
.method private hidebysig static void Main(string[] args) cil managed { .entrypoint // this is something the CLR is interested in