12

嗨,我想使用 Roslyn 在我的应用程序中编写脚本。但我有新的(九月)版本,我很困惑。我想用一些简单的功能执行文件。例如:

public int m(){
      return 6;
}

我发现了一些关于它的文章,例如acticle。有一些方法可以做到,但在我的版本中,我不Session.Create() 想像 IronPython 脚本那样使用它

就像是:

var scriptEngine = new SciptEngine.ExecuteFile(fileWithFunction);
dynamic d = getFunction(m);

或者

动态 d = callFunction(m);

有可能还是我必须使用 IronPython 脚本?

4

1 回答 1

17

自撰写本文的原始 CTP 以来,API 没有显着变化。对于您的场景:

var scriptEngine = new ScriptEngine();
var session = scriptEngine.CreateSession();
session.AddReference("System");
session.AddReference("System.Core");
session.Execute(@"public int m() { return 6; }");

int six = session.Execute<int>("m()");
于 2012-09-27T03:10:41.743 回答