Teo*_*gul 66
是的,非常可能:
var consoleOut = new StringWriter();
Console.SetOut(consoleOut);
Console.WriteLine("This is intercepted."); // This is not written to console
File.WriteAllText("ConsoleOutput.txt", consoleOut.ToString());
Run Code Online (Sandbox Code Playgroud)
稍后如果要停止拦截控制台输出,请使用以下修改:
var stdOut = Console.Out;
// Above interceptor code here..
Console.SetOut(stdOut); // Now all output start going back to console window
Run Code Online (Sandbox Code Playgroud)
或者OpenStandardOutput在不需要首先保存标准流的情况下执行相同的操作:
// Above interceptor code here..
var standardOutput = new StreamWriter(Console.OpenStandardOutput());
standardOutput.AutoFlush = true;
Console.SetOut(standardOutput); // Now all output starts flowing back to console
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10383 次 |
| 最近记录: |