c# - 罗斯林脚本

标签 c# roslyn

您好,我想使用 Roslyn 在我的应用程序中编写脚本。但是我有新的(9 月)版本,我很困惑。我想用一些简单的函数来执行文件。 例如:

public int m(){
      return 6;
}

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

类似于:

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

动态 d = callFunction(m);

是否可能或者我必须使用 IronPython 脚本?

最佳答案

自撰写本文的原始 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()");

关于c# - 罗斯林脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12602922/

相关文章:

c# - 从 Roslyn 的 goto 案例中获取符号

c# - C#如何从一个范围内生成随机数

c# - 需要一些异步调用的单例类

c# - 运行Docker Toolbox时添加-f参数

c# - 如何以编程方式向项目添加程序集引用?

c# - Roslyn/MicrosoftCodeAnalysis.CSharp.Scripting 抛出 'FileNotFoundException'

c# - 如何等到项目通过管道?

c# - 将原始 RGB 字节数组转换为 JPG 编码的字符串 base64

c# - 我可以使用 roslyn 和新的 .net 项目格式在构建时创建类吗?

c# - 我可以使用 Roslyn 进行编译时代码重写吗?