私のために、コンソール機能(ReadKey、StringとFormatと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);
}
}
注:私は必要なものだけをオーバーライドするので、他のタイプを作成する場合は、さらにオーバーライドする必要があります