5

我有一个第三方 .NET 库,可以将一些关键诊断信息输出到TextWriter实例。我希望在调试模式下将此信息转储到 Visual Studio 2008 的输出窗口,如果不在调试模式下则忽略。有什么方法可以引用使用此输出窗口的输出流,以便创建TextWriter使用它的输出流?

要使用控制台进行输出,我可以...

foo.LogTo(Console.Out);

使用这个接口,我可以得到发送到输出窗口的日志信息吗?

4

2 回答 2

1

自 .NET 1.1 起,Visual Studio 允许通过 Debug 类将消息写入输出窗口

话虽如此,创建自己的 TextWriter 实现很容易,它只会将调用转发到 Debug 类上的适当方法。当内容写入您的 TextWriter 时,您将调用 Debug 类方法,它将出现在输出窗口中。

此外,因为您正在调用 Debug 类,所以当您不处于调试模式时,不会输出输出(因为 Debug 类的方法上的Conditional属性)。

于 2010-02-15T23:27:00.457 回答
1

您可以创建自己的 TextWriter 派生类,使用OutputDebugString API或使用 Debug.WriteLine() 来转发数据。

于 2010-02-15T23:27:58.910 回答