集成C#,F#,IronPython和IronRuby

pro*_*eek 5 .net c# f# ironpython ironruby

我被告知,由C#和F#源组成的汇编文件可以互操作,因为它们被编译成.NET程序集.

  • Q1:这是否意味着C#可以调用F#函数就像它们是C#函数一样?
  • Q2:IronPython和IronRuby怎么样?我没有看到IronPython/IronRuby中的任何程序集dll.
  • 问题3:有没有简单的方法可以使用C#或F#中的IronPython/IronRuby函数?

任何示例代码都会很棒.

Tej*_*ejs 5

1)是的.使用一个简单的例子,在F#中,我可以调用C#控制台应用程序的main方法:

open SampleApp

SampleApp.Program.Main([| "Hello"; "World" |])
Run Code Online (Sandbox Code Playgroud)

2)对于DLR,我觉得情况有点不同.我相信这就是你如何执行Python(例如);

ScriptEngine engine = Python.CreateEngine();
ScriptSource script = engine.CreateScriptFromSourceFile("myPythonScript.py");
ScriptScope scope = engine.CreateScope();

script.Execute(scope);
Run Code Online (Sandbox Code Playgroud)

我的语法可能有些偏差 - 但你应该能够获得要点.

3)您需要下载一些特殊的DLR DLL - 然后在您的C#/ F#应用程序中引用它们以便可互操作.它们应该可以从Microsoft DLR站点获得.