Csharp/C#教程:集成C#,F#,IronPython和IronRuby分享


集成C#,F#,IronPython和IronRuby

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

任何示例代码都会很棒。

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站点获得。

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

是的,您可以在C#中引用F#程序集。 当您引用它们时,F#对象等将像C#那样起作用。

您也可以在C#中访问IronPython / Ruby代码,尽管它与仅引用程序集略有不同。 这是一个例子:

https://www.highoncoding.com/Articles/573_First_Look_at_the_IronRuby.aspx

问题3:有没有简单的方法可以使用C#或F#中的IronPython / IronRuby函数?

您可以查看将IronPython嵌入到C#应用程序中

基本上,它做了什么(简化代码):

上述就是C#学习教程:集成C#,F#,IronPython和IronRuby分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 var engine = Python.CreateEngine(); var scriptSource = engine.CreateScriptSourceFromString(@" def foo(s): print s", SourceCodeKind.Statements); var scope = engine.CreateScope(); scriptSource.Execute(scope); //Get a reference to the function Func foo = scope.GetVariable>("foo"); //Execute it Console.WriteLine(foo("a")); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/990103.html

(0)
上一篇 2021年12月24日
下一篇 2021年12月24日

精彩推荐