多个Main函数的应用程序
生活随笔
收集整理的這篇文章主要介紹了
多个Main函数的应用程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
??????? Main函數是C#應用程序的主入口,且需要用public和static來修飾,是否需要返回值和輸入命令參數則根據實際需要而定。但是否想過在一個應用程序中,允許有多個類包含Main嗎?
例如下面的代碼:
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還可以被看作一般的類的靜態(tài)函數來對待,可以直接調用,如下面的代碼中:
{
???public?static?void?Main()
???{
??????Console.WriteLine("Main1");
??????Main2.Main();
????}
}
用ildasm來檢查對比兩個Main函數的異同:
??????? 可以看到.entrypoint在Main1::Main中。
如果編譯時候用別的參數:
csc test2.cs /main:Main2
則又可以將主入口點定為另外一個類的Main函數了。這種用法對于調試和測試應該可以帶來許多方便。
那么如果在Vistual Studio的IDE可以做到嗎?答案是肯定的,在屬性頁中有對應的參數,如下圖:
總結
以上是生活随笔為你收集整理的多个Main函数的应用程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开始学习Solaris
- 下一篇: 获取namespace