我有一個控制檯應用程序,我正在從我的C#程序運行一個進程。
我已經做了一個事件處理程序,當這個進程終止時被調用。
如何在事件處理程序中打印此進程的標準輸出。 基本上,我如何訪問事件處理程序中的進程的屬性?
我的代碼如下所示。在事件處理程序中打印標準輸出處理
public void myFunc()
{
.
.
Process p = new Process();
p.StartInfo.FileName = "myProgram.exe";
p.StartInfo.RedirectStandardOutput = true;
p.EnableRaisingEvents = true;
p.Exited += new EventHandler(myProcess_Exited);
p.Start();
.
.
}
private void myProcess_Exited(object sender, System.EventArgs e)
{
Console.WriteLine("log: {0}", <what should be here?>);
}
我不想讓過程對象p作爲類的字段。
另外,System.EventArgs e
字段有什麼用?這怎麼可以使用?
*我不想使這一過程物P作爲類的字段* - 爲什麼不呢? – DaveShaw
@DaveShaw:沒有理由這樣做。事件處理程序已經將回發過程對象作爲'sender'參數。沒有理由將這些信息保留在多餘的地方。 –
@DaveShaw,我不想這樣做,因爲在我的實現中,我有一個進程數組。如果我成爲這個班的一個領域,事情會變得複雜一些。 – Venom