猿问

Debug.Listeners 和 Trace.Listeners 在引用时相等

通过对 和 类进行一些实验,我发现了一个在参考上等同于 .DebugTraceDebug.ListenersTrace.Listeners


所以这些都发生了


Console.WriteLine(Debug.Listeners == Trace.Listeners); // true

Console.WriteLine(ReferenceEquals(Debug.Listeners, Trace.Listeners)); // true

这使得无法以不同的方式记录调试和跟踪消息。


这是一个错误,还是一个功能;更重要的是:为什么它能这样工作?


烙印99
浏览 78回答 1
1回答

月关宝盒

是的,它是功能(从某种意义上说,它是有文档记录的 - Trace.Listeners)。您有将记录的消息发送到某个目标(跟踪窗口、控制台、文件,...)的侦听器列表。您可以通过定义/取消定义相应的符号来单独控制和语句是否执行任何操作。通常,“调试”生成同时定义两者,而“发布”配置仅定义条件编译符号。您可以在“构建”选项卡上的项目属性中看到这一点。Debug.xxxTrace.xxxDEBUGTRACETRACE
随时随地看视频慕课网APP
我要回答