2016-06-21 99 views
0

我知道您可以将参数传递到程序的执行中。在程序退出时返回值

即:

myprogram.exe param1 param2 [...] 

但是,如果我想检索程序退出几个值(比方说,我想呼应参数1和参数返回给调用进程),我知道这样做会是唯一的出路使用退出代码(这对大/多参数来说是不切实际的),或者通过临时文件传递它们。

是否有任何类似于在程序退出时检索多个值的方法,很像如何在程序的开始时传递多个参数?

+0

@Kevin:除了退出代码之外,你不能直接传递任何非程序代码而不使用其他机制。 –

+0

没有意识到他在谈论一个控制台项目,我应该在评论之前仔细看看他的例子。 – Kevin

回答

1

在Unix系统上,通过将一个程序的输出传送到下一个程序的输入来执行复杂的任务是很常见的。

您会将第一个程序的输出写入标准输出(例如使用Console.WriteLine),然后下一个程序将从标准输入读取以获取进一步处理工作所需的数据。

这也可以很好地在.NET/Windows环境下完成。

话虽如此,可能更希望使用更现代的方法将状态从一个程序传递到下一个程序。您可以在可以访问的数据库中编写状态,也可以使用消息队列传递信息。

你甚至可以在两个程序之间传递信息,同时它们仍然使用命名管道等机制运行。

如果你能够控制所有的代码,并且编写一个新的程序来编排整个使用该库的过程,你也可以将这些功能从几个程序移动到一个库(DLL)中。

您有很多选择。最好的解决方案取决于你想达到的目标。