如何从本地的C代码中调用由托管代码编写的C#方法(可能在类或库中)(以及如何实现)?
谢谢。
编辑:我主要是指Mono或甚至Portable.NET中的“C#”,操作系统为Linux。
如何从本地的C代码中调用由托管代码编写的C#方法(可能在类或库中)(以及如何实现)?
谢谢。
编辑:我主要是指Mono或甚至Portable.NET中的“C#”,操作系统为Linux。
在MSDN网站上有一个托管/非托管代码互操作概述,可能会为您提供一些帮助。以下是摘录:
直接访问托管 API 如果未托管的客户端是用 C++ 编写的,则可以将其编译为“混合模式映像”使用 Visual Studio .NET C++ 编译器。完成此操作后,未托管的客户端可以直接访问任何托管 API。但是,在从未托管的代码中访问托管对象时,适用一些编码规则;有关详细信息,请查看 C++ 文档。 直接访问是首选选项,因为它不需要托管 API 开发人员考虑任何特殊情况。他们可以根据托管 API 设计指南 (DG) 设计他们的托管 API,并确信该 API 仍然可供未托管的调用方访问。这里有一个解决方案。要从C中调用C#函数,可以使用[DllExport]属性(与P/Invoke DllImport相反)。 https://sites.google.com/site/robertgiesecke/Home/uploads/unmanagedexports