我想在一个dll中调用一个方法,该方法从C#返回一个'SEXP'类型的变量。在C#中类型为'SEXP'的等价物是什么,或者如何在C#中声明SEXP变量。 提前谢谢。
答案 0 :(得分:0)
我强烈建议您在C#项目中使用包https://www.nuget.org/packages/R.NET.Community,并且您可能希望从https://github.com/jmp75/rdotnet克隆或分叉R.NET以获取代码示例。
R.NET已经为R&#39的SEXP提供了所有互操作胶水代码,在C#中
例如在R.NET /REngine.cs
中public SymbolicExpression GetSymbol(string name, REnvironment environment)
更接近与C互操作的胶水代码在R.NET / Internals下。 R.NET使用委托(Internals / Delegates.cs)来执行PInvoke。这不是一种强制性的方法,而是比传统的PInvoke更少的代码。
重新启动从类继承以促进PInvoke
public class UnmanagedDll
包装和调用本机库的示例