出于学习目的,我正在 C# 和 winforms 中开发一个类生成应用程序。我认为包含允许在脚本中使用应用程序的命令行模式可能会很好。
在我的应用程序中包含命令行模式是一个很好的做法吗?最好有两个不同的程序,一个带有 GUI,一个用于命令行?
实际上,让 C# 应用程序同时具有控制台和 GUI 是有问题的。控制台应用程序(/t:exe http://msdn.microsoft.com/en-us/library/ms379563(VS.80).aspx#csharpcompiler_topic4)启动,然后命令提示符等待它们完成。图形用户界面应用程序(/t:winexe http://msdn.microsoft.com/en-us/library/ms379563(VS.80).aspx#csharpcompiler_topic4)命令 shell 启动它们,然后立即返回。虽然您可以从“控制台”应用程序创建和运行表单,但它始终会显示一个后台控制台。另一方面,“Forms”应用程序没有连接 stdin、stdout 和 stderr,虽然它们可以充当命令行工具并处理命令参数,但它们在嵌入脚本中时会出现问题(因为标准输入/输出不是已连接)。
如果您还想公开 GUI 驱动的应用程序和可脚本化/可管道批处理的功能,最好的方法是将您的功能编译到类库中,然后构建两个利用该库的独立应用程序(一个 GUI 一个控制台)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)