目前,我使用以下内容写了很多状态消息:
Debug.Writeline("This is my status message");
我希望能够创建一种方法,允许我通过输出消息Debug
或将它们重定向到我的 UI 中的文本框。但是,Debug 和 Textbox 对象不兼容。我怎样才能做到这一点,使调用者可以使用相同的消息来生成输出并让调用方法决定将它发送到哪里(即,调试、UI 甚至日志文件)?
您可以创建自己的派生自 的类TraceListener
,如Trace listener to write to a text box (WPF application) 中接受的答案中所述。
注意:接受的答案详细说明了如何为 C# WinForms 创建自定义跟踪侦听器,尽管问题是关于 WPF。
创建您自己的日志记录类,桥接您的调试类
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(){}
}