Создать Func <> с Roslyn
Вдохновленныйэтот а такжеэтот В статье я пытаюсь создать динамическую функцию с Roslyn.
Однако упомянутые источники устарели или не полны, и я не могу создать функциональный образец. Моя работа до сих пор:
var code = @"Func<int, int> doStuffToInt = i =>
{
var result = i;
for (var y = i; y <= i * 2; y++)
{
result += y;
}
return result;
};";
var se = new ScriptEngine();
var session = se.CreateSession();
session.AddReference(typeof(Program).Assembly);
session.AddReference(typeof(Expression).Assembly);
session.ImportNamespace("System");
session.ImportNamespace("System.Linq");
session.ImportNamespace("System.Linq.Expressions");
var submission = session.CompileSubmission<Func<int, int>>(code);
Func<int, int> myFunc = submission.Execute();
тем не мениеmyFunc
всегда ноль, и я не могу определить, где проблема. Может ли кто-нибудь помочь мне запустить этот образец?