DataReceived事件是在异步读取标准输出流或标准错误流时触发的事件,参数为对象sender和EventArgs e。
在处理DataReceived事件时,通常会使用StreamReader类来读取流中的数据,例如:
private void process_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
if (e.Data != null)
{
Console.WriteLine("Output from process: {0}", e.Data);
}
}
在上面的示例中,通过判断DataReceivedEventArgs的Data属性是否为null来判断是否有可用的数据。如果有数据可用,就可以通过e.Data属性来访问流中的数据。
需要注意的是,DataReceived事件在一个新的线程中触发,因此在处理事件时需要考虑线程安全性。