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