Как захватить вывод консоли из оценки CSharpScript

#c# #console #eval

#c# #консоль #eval

Вопрос:

 var code = "return 1   2"; 
var result = await CSharpScript.EvaluateAsync(code, _scriptOptions);

// "result" is 3.
  
 var code = "Console.WriteLine("Hello World");"; 
var result = await CSharpScript.EvaluateAsync(code, _scriptOptions);

// "result" is null
  

Во втором примере Console.WriteLine() вычисляется и буквально записывается на консоль. Как можно оценить, чтобы вместо этого возвращалась строка?

Комментарии:

1. Вывод печатается в окне вывода вашей программы?

2. Да @RowanRadosav-McRae

3. В этом случае хакерским решением было бы перехватить вывод консоли во время выполнения функции. Я постараюсь найти правильное решение, но пока это должно сработать