我有一个由硬件制造商提供的ADK,用于连接和使用他们的硬件。
ADK是我们在项目中引用的DLL,然后基于事件调用和使用方法。问题在于DLL不断向控制台写入一些文本。字符串始终是相同的,我们需要使用控制台,因此完全关闭它不是可行的解决方案。
我已经尝试了TextWriter类的实现,该实现将忽略此字符串,但是当我在其中进行断点操作时,DLL的输出不会进入该类。
我们构建的TextWriter看起来像这样;
public class MyTextWriter : TextWriter
{
private TextWriter _standardOut;
public MyTextWriter(TextWriter ConsoleOut)
{
this._standardOut = ConsoleOut;
}
public override Encoding Encoding
{
get
{
return Encoding.ASCII;
}
}
public override void WriteLine(string val)
{
if(val != "Hello")
{
_standardOut.WriteLine(val);
}
}
}
还有其他方法可以停止将此DLL写入控制台吗?