Jon*_*lis 4 c# c#-6.0 visual-studio-2015
我没有看到任何相关的文档,但它看起来像在vNext中,您可以愉快地使用非静态方法编译和运行应用程序void Main().实际上,新的控制台应用程序模板为您提供了非静态主菜单.例如:
public class Program
{
public Guid MyGuid { get; set; } = Guid.NewGuid();
void Main()
{
Console.WriteLine("Hello World {0}", MyGuid);
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud)
MyGuid是实例化的,这里是一个非空的Guid.所以我假设它创建了一个我的Program类的实例并从那里开始.
我的问题是我有两个Mains:
public class Program
{
void Main()
{
Console.WriteLine("main no args");
Console.ReadLine();
}
void Main(string[] args)
{
Console.WriteLine("main with args {0}", string.Join(", ",args));
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud)
在项目属性中,我给出了参数arg1和arg2.但是,main no args当我运行它时,我的控制台会显示.如果我删除无参数Main,我得到预期的输出main with args arg1, arg2.
现在,如果我在代码中切换方法的顺序,我Main的参数就会被命中.如果我删除参数,我Main的参数仍然会被打印,打印main with args.
我想澄清罗斯林如何Main精确地选择我的.它总是第一个吗?我确信这是有记录的,但我找不到它.
编辑
如果我将我的类名更改为其他内容Program,我的控制台应用程序会运行,并立即崩溃,告诉我我没有合适的入口点.所以我最好的猜测是the first Main method in the Program class
| 归档时间: |
|
| 查看次数: |
165 次 |
| 最近记录: |