zoukankan      html  css  js  c++  java
  • 多个Main函数的应用程序

            Main函数是C#应用程序的主入口,且需要用public和static来修饰,是否需要返回值和输入命令参数则根据实际需要而定。但是否想过在一个应用程序中,允许有多个类包含Main吗?
    例如下面的代码:

    using System;

    class Main1
    {

       
    public static void Main()
       
    {
          Console.WriteLine(
    "Main1");
          Main2.Main();
        }


    }


    class Main2
    {
       
    public static void Main()
       
    {
          Console.WriteLine(
    "Main2");
        }

     }

        

    直接编译肯定出错的,如下图:

           看起来似乎不允许在一个应用程序集中定义多个Main函数,但在编译时候设置参数是允许的。
    如下面的命令:

    csc test2.cs /main:Main1

            这时候会用Main1类中的Main作为主入口点。而另外一个Main还可以被看作一般的类的静态函数来对待,可以直接调用,如下面的代码中:

    class Main1
    {

       
    public static void Main()
       
    {
          Console.WriteLine(
    "Main1");
          Main2.Main();
        }


    }


    用ildasm来检查对比两个Main函数的异同:


            可以看到.entrypoint在Main1::Main中。

    如果编译时候用别的参数:
    csc test2.cs /main:Main2

    则又可以将主入口点定为另外一个类的Main函数了。这种用法对于调试和测试应该可以带来许多方便。

    那么如果在Vistual Studio的IDE可以做到吗?答案是肯定的,在属性页中有对应的参数,如下图:

  • 相关阅读:
    XMLHttpRequest简介
    BC30138: 无法在路径“C:\WINDOWS\TEMP\”中创建临时文件: 拒绝访问。
    开机explorer无法启动,无法进入桌面
    选择DataGrid中的CheckBox控件后该行背景变色
    CSS菜单制作工具
    ScriptX打印控件的使用
    JS实时预览上传图片缩略图
    readyState的五种状态详解
    xmlHttpRequest的status的值的含义
    C#调用word打印
  • 原文地址:https://www.cnblogs.com/windsails/p/56658.html
Copyright © 2011-2022 走看看