一尘不染

从C调用C#

c#

有没有人从事过从C模块调用C#模块的工作。我尝试在互联网上搜索,但没有找到好的示例。虽然许多站点都说使用COM
interop之类的东西,但是却找不到合适的示例或说明它的文章。

如果有人可以帮助我,那就太好了

谢谢,Sveerap


阅读 875

收藏
2020-05-19

共1个答案

一尘不染

如果要从C或C ++调用托管代码,则不只是COM互操作。还有以下鲜为人知的方法(摘自 MSDN
FAQ

):

如何从本地Visual C ++调用.NET程序集?

基本上有四种方法可以从本地VC ++代码调用.NET程序集:

  1. CLR托管API :本机VC ++模块调用CLR托管API来托管CLR,加载并调用.NET程序集(示例代码:CppHostCLR)。

  2. COM互操作 :如果.NET程序集可以作为COM组件公开,则本机VC ++模块可以通过.NET –
    COM互操作(示例代码:CppCOMClient)调用.NET程序集。

  3. 反向PInvoke
    :托管代码调用传递给本地代码可以回调的委托的本地代码(示例代码:CSPInvokeDll)。

  4. **C / CLI** :如果允许包含本机VC 代码的模块启用CLR,则本机VC ++代码可以直接调用.NET程序集(示例代码:使用C / CLI在本机C或C
    中使用C#库

2020-05-19