• 多个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可以做到吗?答案是肯定的,在属性页中有对应的参数,如下图:

  • 相关阅读:
    虚方法(virtual)和抽象方法(abstract)的区别
    IT社区
    C#中动态加载和卸载DLL
    应用程序体系结构
    Enterprise Architect 7.0入门教程
    jQuery插件开发基础1
    asp.net页面事件执行顺序
    codesmith4.1破解版
    在Web.config配置文件中自定义配置节点
    小巧实用的节拍器软件FineMetronome介绍 原创
  • 原文地址:https://www.cnblogs.com/windsails/p/56658.html
Copyright © 2020-2023  润新知