如何在C#中重定向调试输出?

时间:2013-08-15 16:22:22

标签: c# debugging textbox output

目前,我使用以下内容编写了大量状态消息:

Debug.Writeline("This is my status message");

我希望能够创建一种方法,允许我通过Debug输出消息或将其重定向到我的UI中的文本框。但是,Debug和Textbox对象不兼容。我怎么能这样做,调用者可以使用相同的消息来生成输出,让调用方法决定在哪里发送它(即调试,UI,甚至是日志文件)?

2 个答案:

答案 0 :(得分:1)

您可以创建自己的TraceListener派生类,如Trace listener to write to a text box (WPF application)的接受答案中所述。

注意:接受的答案详细说明了如何为C#WinForms创建自定义跟踪侦听器,尽管问题是关于WPF。

答案 1 :(得分:0)

创建自己的日志记录类,桥接您的调试类

interface ILog {
   public void Log();
}

public DebugLog : ILog {
  public DebugLog(Debug d) {} //ctor that takes Debug Object
  public void Log(){}
}

public WindowLog : ILog {
  public WindowLog(Text t) {} //ctor that takes window log
  public void Log(){}
}
相关问题