2010-11-24 142 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应用程序不是一个选项。

相关问题