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