通过控制台

时间:2015-10-12 06:22:28

标签: c# .net winforms

我有一个winforms应用程序,它从gui接收输入并运行逻辑以提供输出。

我想创建同一个应用程序的控制台版本,我在其中指定具有输入值的文件(而不是通过gui提供)并运行winform应用程序逻辑并将输出写入文件。

我的winform应用程序会生成一个我希望使用的dll,以便我的应用程序中的任何更改也会反映在控制台应用程序中。

请建议我如何实现这一目标。我不知道该怎么办。

2 个答案:

答案 0 :(得分:3)

你不需要做额外的工作。

选项1:Environment.GetCommandLineArgs()

您可以简单地使用Environment.GetCommandLineArgs()来解析它并根据需要使用参数。

例如:

Environment.GetCommandLineArgs().ToList()
    .ForEach(x =>
    {
        MessageBox.Show(x);
    });

例如,您可以从命令行使用您的程序,如下所示:

  • yourProgram.exe param1 "another param" anotherParam
  • yourProgram.exe "d:\myfile.txt"

选项2:static void Main(params string [] args)

此外,您可以通过static void Main(params string[] args)方式更改主签名,并以这种方式使用args:

args.ToList()
    .ForEach(x =>
    {
        MessageBox.Show(x);
    });

并以这种方式使用它:

  • yourProgram.exe param1 "another param" anotherParam
  • yourProgram.exe "d:\myfile.txt"

注意:

  • 您还可以在调试时使用命令行参数。打开项目属性,在“调试”选项卡的“启动选项”中,输入所需的命令行参数。然后只需运行该应用程序。
  • 使用Environment.GetCommandLineArgs时,第一个参数是您的应用程序可执行地址。
  • 使用args时,第一个参数是您传递的参数。

答案 1 :(得分:0)

只需将另一个项目(控制台应用程序)添加到您的解决方案中,然后将IO操作放在那里。逻辑保留在类库中。