一个对我有用的简单解决方案,可以使用控制台功能(ReadKey,带Format的String和arg等)并查看和保存输出:
我写的TextWriter是写Console
和Trace
并更换Console.Out
它。
如果使用对话框->调试->选中“将所有输出窗口文本重定向到立即窗口”,则可以在立即窗口中获得它,并且非常干净。
我的代码:在我的代码开头:
Console.SetOut(new TextHelper());
和班级:
public class TextHelper : TextWriter
{
TextWriter console;
public TextHelper() {
console = Console.Out;
}
public override Encoding Encoding { get { return this.console.Encoding; } }
public override void WriteLine(string format, params object[] arg)
{
string s = string.Format(format, arg);
WriteLine(s);
}
public override void Write(object value)
{
console.Write(value);
System.Diagnostics.Trace.Write(value);
}
public override void WriteLine(object value)
{
Write(value);
Write("\n");
}
public override void WriteLine(string value)
{
console.WriteLine(value);
System.Diagnostics.Trace.WriteLine(value);
}
}
注意:我会覆盖我需要的内容,因此,如果您编写其他类型,则应覆盖更多内容