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

  • 相关阅读:
    黑苹果安装 this is an unknown cpu model 0x3a
    JQMobile引入外部CSS,JS文件
    iphone系统更新 3002错误
    移动端HTML5框架
    花生壳动态域名解析使用
    win7 配置IIS + php 环境
    php在字符串中替换多个字符
    PHP 获取文件名和扩展名的方法
    Mysql无法创建外键的原因
    wordpress无法登录的解决方法
  • 原文地址:https://www.cnblogs.com/windsails/p/56658.html
Copyright © 2011-2022 走看看