【发布时间】:2011-09-23 03:46:40
【问题描述】:
我希望将 C#(Windows 平台应用程序)转换为命令行版本。
场景是:我在 VS 2010 中实现了一个 C#(Windows 应用程序)。这个应用程序的输出是生成一个 txt(日志)文件(简单解释)。
现在的情况是,通过在运行时从命令行调用我的 C# 应用程序,还有另一个应用程序需要使用我的这个 C# 应用程序。
我的问题是,如何将已经存在的 C# 应用程序转换为命令行应用程序,以便可以从调用(其他)程序调用此 C# 应用程序?有一个输入参数需要在命令行上传递给我的 C# 应用程序。然后这个 C# 应用程序将根据输入参数处理数据,然后生成输出 log(txt) 文件。
补充说明
我对这里的解决方案印象深刻。读者需要更多的专业知识。我希望一个应用程序既可以用作命令行应用程序,也可以用作 Windows 应用程序(之前忘记提及,抱歉!),具体取决于传递给应用程序的输入参数的数量。从这个角度来看,我有两个选择来实现它,
1) 为两个应用程序(命令行和窗口窗体)创建单独的函数。根据输入参数传递调用它们。在每个函数中实现每个应用程序的完整功能,而不会干扰(或进入其他应用程序的代码)。此外,经过一些编辑,我将能够重新使用 2 个主要功能,这些功能已经内置在 windows 窗体应用程序中。
缺点:这将使代码大小比案例 2 增加近 50%。
2) 第二个想法与此处一位专家的描述相同,即在命令行中使用与已构建的 windows 窗体应用程序相同的应用程序/功能。区分的唯一方法是查看输入参数传递,并据此决定是显示 GUI 界面还是仅使用命令行输入(并进行处理)。
缺点:由于额外添加了对输入参数决策数量的检查,这种情况会使代码有点混乱,难以维护/实现。
我应该遵循哪种策略来实施?
【问题讨论】:
-
看看这个 Stackoverflow 问题stackoverflow.com/questions/807998/… 看看它是否适合你。
标签: c# visual-studio-2010 command-line