如何在c#应用程序上下文中运行f#脚本



在c#应用程序(主机)的内部(和上下文中)运行f#脚本是否容易?

使用'in the context',我的意思是以下内容应该是正确的:

  • 没有单独的进程来执行脚本
  • 从f#脚本访问宿主应用程序的静态内容(类,属性,方法)

基本上我正在寻找一个类似于这个假设的API调用的API

FSharpScriptRunner.RunInContext(string script);

请帮助。

马提亚

目前还没有这样的api,但您可以很容易地通过几个步骤完成类似的操作:-

1)使用powerpack中提供的f# CodeDom (FSharp.Compiler.CodeDom.dll)来动态编译脚本。power pack包含一些api,可以编译单个文件,并允许您向当前应用程序添加引用,从而使脚本能够访问宿主应用程序的类、属性和方法。

2)在编译阶段结束时,内存中应该有一个动态程序集。然后,您可以使用反射从脚本创建对象的动态实例并执行它。

你为什么不把f#代码编译成一个程序集,然后从你的c#应用程序中引用它呢?

相关内容

  • 没有找到相关文章

最新更新