Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 重定向控制台&;使用Roslyn编译器调试输出_C#_.net_Console_Roslyn - Fatal编程技术网

C# 重定向控制台&;使用Roslyn编译器调试输出

C# 重定向控制台&;使用Roslyn编译器调试输出,c#,.net,console,roslyn,C#,.net,Console,Roslyn,如果我有以下代码使用Roslyn编译器写入控制台并调试输出。如何重定向输出,以便Execute函数可以返回这两个结果以及实际结果 await Execute("System.Console.Write(\"Hello\"); System.Diagnostics.Debug.Write(\"World\");); public async Task<object> Execute(string code) { return await CSharpScript.Evalua

如果我有以下代码使用Roslyn编译器写入控制台并调试输出。如何重定向输出,以便Execute函数可以返回这两个结果以及实际结果

await Execute("System.Console.Write(\"Hello\"); System.Diagnostics.Debug.Write(\"World\"););

public async Task<object> Execute(string code)
{
    return await CSharpScript.EvaluateAsync(code);
}
wait Execute(“System.Console.Write(\“Hello\”);System.Diagnostics.Debug.Write(\“World\”);
公共异步任务执行(字符串代码)
{
返回wait CSharpScript.EvaluateAsync(代码);
}

你不能。一旦它被遵守,它就是你自己过程中的代码


您可以编译一个完整的可执行文件,将其保存到磁盘,然后重新定向运行。

只需调用
控制台。SetOut
即可更改控制台的流。Write*写入。然后您可以在运行完代码后将其读回。同样,对于Debug.Write,您可以编辑
TraceListeners
集合。

您可以解析并重新写入使用自己的函数替换
控制台
的调用。