我是否必须有2种不同的主要方法,1种没有任何参数,1种只有string[] args
但私有和静态?
答案 0 :(得分:12)
为什么
Main
必须static
才能接受命令行参数?
在那里,为你修好了。
Main
必须是静态的,以便可以在没有对象实例的情况下调用它。这是必要的,因为在创建任何实例之前调用Main
。
答案 1 :(得分:10)
不 - 您只需要一个Main
方法。实际上,如果一个类中有多个静态Main
方法,我不相信你可以将该类指定为入口点。
它 必须是静态的;该类不能是通用的,也不能是该方法。它可以是:
int
string[]
它必须是静态的和非泛型的,否则CLR必须分别创建类的实例或计算出你想要的类型参数。它没有足够的信息来做出这些决定 - 但它不需要任何非泛型类中的静态非泛型方法的信息。