从R调用.NET / C#

我想使用R中仅在.NET中提供的API。 是否有一种标准方法可用于从R调用.NET C#代码? 如果是这样,我该怎么办?

本讨论的读者可能会考虑的另一个选择是rClr包 ,我已经工作了几年来从R访问任意.NET代码。它是R.NET的兄弟,相反,它是一种方式从.NET访问R.

为了给出rClr包的味道,规范的“Hello World”看起来像:

library(rClr) clrLoadAssembly('c:/path/to/myassembly.dll') myObj <- clrNew('MyNamespace.MyClass,MyAssemblyName') clrCall(myObj, 'SayHelloWorld') 

欢迎通过网站提供反馈和建议。

将.NET dll公开为COM dll然后从R中调用dll中的COM对象似乎是唯一的方法。 还有一个包: http : //cran.r-project.org/web/packages/rcom/rcom.pdf

如果你不能制作一个COM dll,因为它是第三方dll,你总是可以用COM接口创建一个新的类似.NET dll的接口,你可以在其中调用实际的dll。