由于某些我不知道的原因,我正在使用的库的开发人员在库中调用方法时决定Console.WriteLine
吨信息,基本上解释了正在发生的每一步。
这很好,但在开发过程中我不需要一直看到这个,所以我的问题是我可以禁止Console.WriteLine
在我不希望它被使用时使用吗?我仍然希望能够看到我自己的Console.WriteLine
,而不是图书馆内的那些。
不言而喻,我没有图书馆的资源。
此致
AK
答案 0 :(得分:2)
您可以使用Console.SetOut
将Console.Out
重定向到您选择的内容(例如丢弃所有输入的内容),然后再调用该库,然后执行相同操作以重新设置原始值。尽管这样做会很尴尬。
为了使事情更易于管理,您可以创建另一个实现IDisposable
的类并像这样使用它:
using(new StandardOutSink()) {
// call into the third party library
}
StandardOutSink
的构造函数(您需要编写)会将输出流重定向到特制的TextWriter
(您还需要编写),然后是Dispose
方法将它设置回原始流。