ReturnValue = null из Roslyn Script - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Столкнулся с проблемой. После компиляции кода и его выполнения, ReturnValue равно null, почему так? Если что вот мой код:
var Script = CSharpScript.Create("", Options, Classes.GetType());
Script.Compile();
var Method = Script.ContinueWith(Code);
var State = await Method.RunAsync(Classes);
Type res = State.ReturnValue.GetType();
В чем моя ошибка?

Решение задачи: «ReturnValue = null из Roslyn Script»

textual
Листинг программы
            var globals = new Globals(new Test1(), new Test2());
 
            var script = CSharpScript.Create<string>("", globalsType: globals.GetType());
 
            var method1 = script.ContinueWith("return A.PrintLine1("Hello World");");
            var method2 = script.ContinueWith("return B.PrintLine2("Hello World");");
 
            script.Compile();
 
            // "Test1"
            var res1 = await CSharpScript.EvaluateAsync("return A.PrintLine1("Hello World");", null, globals, globals.GetType());
 
            // ReturnValue == "Test1"
            var res = await method1.RunAsync(globals);
            // ReturnValue == "Test2"
            var res2 = await method2.RunAsync(globals);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5
Похожие ответы