有人告诉我,由 C# 和 F# 源代码生成的程序集文件是可以互操作的,因为它们被编译成 .NET 程序集。
- Q1:这是否意味着 C# 可以像调用 C# 函数一样调用 F# 函数?
- Q2:IronPython 和 IronRuby 怎么样?我没有看到来自 IronPython/IronRuby 的任何程序集 dll。
- Q3:有没有简单的方法可以从 C# 或 F# 使用 IronPython/IronRuby 函数?
任何示例代码都会很棒。
1)是的。使用一个简单的示例,在 F# 中,我可以调用 C# 控制台应用程序的 main 方法:
open SampleApp
SampleApp.Program.Main([| "Hello"; "World" |])
2)对于DLR,我认为情况有点不同。我相信这就是你执行 Python 的方式(例如);
ScriptEngine engine = Python.CreateEngine();
ScriptSource script = engine.CreateScriptFromSourceFile("myPythonScript.py");
ScriptScope scope = engine.CreateScope();
script.Execute(scope);
我的语法可能有点偏差 - 但你应该能够理解要点。
3) 您需要下载一些特殊的 DLR DLL - 然后在您的 C# / F# 应用程序中引用它们以便实现互操作。它们应该可以从 Microsoft DLR 站点获得。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)