包含Main方法的类的含义

use*_*956 0 c#

如果Main方法是在静态或非静态类中定义的,或者该类是否公开,并且Main方法是否公开,是否有任何区别?

Jon*_*eet 7

不.唯一的条件是它不能是通用类型.从C#4规范的3.1节:

应用程序入口点可能不在泛型类声明中.

我怀疑这也是为了包含泛型结构声明,因为它们会以同样的方式失败.(CLR不知道要提供什么类型的参数.)

对于入口点类型来说,嵌套,静态,任何可访问性等都很好.方法本身也可以是私有的,只要它具有适当的返回类型(voidint)和适当的参数(无或者string[]) - 它必须是当然是静态的.