Redirecionando stdout de um objeto de processo para stdin de outro
Como posso configurar dois executáveis externos para executar a partir de um aplicativo c # onde stdout do primeiro é roteado para stdin do segundo?
Eu sei como executar programas externos usando o objeto Process, mas não vejo uma maneira de fazer algo como "myprogram1-algumas -options | myprogram2 -some -options". Também precisarei pegar o stdout do segundo programa (myprogram2 no exemplo).
No PHP eu apenas faria isso:
$descriptorspec = array(
1 => array("pipe", "w"), // stdout
);
$this->command_process_resource = proc_open("myprogram1 -some -options | myprogram2 -some -options", $descriptorspec, $pipes);
E $ pipes [1] seria o stdout do último programa da cadeia. Existe uma maneira de conseguir isso em c #?