为什么只有一个无参数的Main方法被认为是C#项目的"有效启动对象"?

Gis*_*shu 4 c# projects-and-solutions

我下载了一个源文件的zip文件,其中包含一个带有多个入口点/主要方法的C#项目.因为我想修补一下,我在新的类型/类中创建了另一个这样的东西

class MyExperiments
   {
      static void Main(String[] args)
      {
         // do something
      }
   }
Run Code Online (Sandbox Code Playgroud)

然后我切换到项目属性.只需将启动对象切换到MyExperiments呃?令我惊讶的是,下拉列表没有它.我重建,使方法公开,尝试了很多东西......但无济于事.最后,我在记事本中手动编辑了.csproj,然后就可以了.更多的修修补补,我删除了参数来实现它

static void Main()
Run Code Online (Sandbox Code Playgroud)

现在VS Project属性可以"看到"启动对象.所以现在我可以使用下拉列表选择它.然后我添加了String [],一切仍然有效.

对我来说似乎有点奇怪(因为最常见的形式是一个Main方法,带有C/C++时间命令行参数的参数).MSDN表示如果项目中存在有效的启动对象,则下拉列表将包含有效的启动对象.

Hen*_*man 6

你复制粘贴它的好东西,它是首都'S' Main(String[] args).显然VS使用了一些文本匹配,并且区分大小写.因为它可能应该是.

  • "因为它应该是." - 不相信; 它对编译器没有任何影响,那么IDE为什么要关心呢? (2认同)

Mar*_*ell 5

大声笑 - 它看起来像IDE中的一个错误:

static void Main(String[] args) {}
Run Code Online (Sandbox Code Playgroud)

不显示,但是

static void Main(string[] args) {}
Run Code Online (Sandbox Code Playgroud)

的确!