【发布时间】:2014-03-18 23:11:48
【问题描述】:
受this 和this 文章的启发,我正在尝试使用 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 始终为空,我无法确定问题出在哪里。有人可以帮我运行这个示例吗?
【问题讨论】: