2010-11-24 145 views
0

更新爲清晰起見,希望... 是的,我如果有任何的用例說控制檯應用程序問題

Program p = new Program(); 

是的,我指的是自帶的程序類疑惑新的控制檯應用程序模板。

什麼是您想要在C#控制檯應用程序中實例化Program類的一些用例?

+0

這是一個非常普遍的問題。你會實例化它,如果你有一個理由?我猜?有問題的具體事情嗎? – 2010-11-24 19:06:27

+0

你可以發佈一些示例代碼來澄清你在找什麼?當你說「Program class」時,你的意思是從默認控制檯模板中顯示的`class Program'爲什麼「控制檯應用程序」 - 因爲「類程序」也出現在WinForms模板中(好吧,它顯示爲「靜態類程序」,但如果需要,可以刪除「靜態」並實例化它)。 – 2010-11-24 20:25:33

+0

由於Program類也默認顯示在WinForms應用程序模板中,因此對「控制檯應用程序」的引用很混亂。 – 2010-11-26 12:18:49

回答

3

如果,比如說,要運行多線程(如在服務應用程序),每個都有自己的Program副本,它是有用的,以便能夠:

Program p = new Program(); 

Main()不會自動在這些情況下被稱爲。例如,如果應用程序作爲服務運行,或者在main()之間運行一些交互式控制檯代碼,則可以讓您創建服務線程,具體取決於應用程序的啓動方式。調試服務時這非常方便。

0

當你不需要GUI時 - 當你不需要用戶輸入時。或者你只需​​要非常簡單的用戶輸入(比如.....在測試代碼中)。

如果您的應用將在服務器上無人值守運行 - 爲什麼會有未查看錶單的開銷?

0

如果不需要良好的用戶界面,但仍然需要顯示某些內容。

我寫了Win窗體應用程序,可以靜靜地執行......沒有顯示窗體,執行,然後結束。

一個非常好的理由可能是確保應用程序可以在沒有GUI時運行。在許多Linux服務器和Windows Core安裝GUI應用程序不是一個選項。

相關問題