【发布时间】:2010-05-20 21:35:35
【问题描述】:
我正在尝试将 C#/Mono 应用程序的控制台输出重定向到 gtk# 文本视图。这里有无数的答案来解释如何将命令的输出重定向到任何可以想象的输出设备。但是,我正在尝试对当前流程做同样的事情。最初该应用程序被设计为命令行,知道我想要一个显示所有输出的文本视图。这是我现在拥有的:
class Program
{
Main(string[] args)
{
Program prog = new Program();
Process proc = Process.GetCurrentProcess();
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.EnableRaisingEvents = true;
proc.ErrorDataReceived += prog.DataReceived;
proc.OutputDataReceived += prog.DataReceived;
proc.BeginErrorReadLine();
proc.BeginOutputReadLine();
}
void DataReceived(object sender, DataReceivedEventArgs e)
{
_MainWindow.SendData(e.Data);
}
}
这是正确的方法吗?现在我在调用BeginErrorReadLine() 方法时收到以下异常。例外是: Standard Error Can not be redirected。我不知道问题是否只是 Process/Mono 的问题,或者我只是做错了什么。
【问题讨论】:
标签: c# mono monodevelop gtk#