如果要从C或C ++调用托管代码,则不只是COM互操作。还有以下鲜为人知的方法(摘自 MSDN
FAQ
):
如何从本地Visual C ++调用.NET程序集?
基本上有四种方法可以从本地VC ++代码调用.NET程序集:
CLR托管API :本机VC ++模块调用CLR托管API来托管CLR,加载并调用.NET程序集(示例代码:CppHostCLR)。
COM互操作 :如果.NET程序集可以作为COM组件公开,则本机VC ++模块可以通过.NET –
COM互操作(示例代码:CppCOMClient)调用.NET程序集。反向PInvoke
:托管代码调用传递给本地代码可以回调的委托的本地代码(示例代码:CSPInvokeDll)。**C / CLI** :如果允许包含本机VC 代码的模块启用CLR,则本机VC ++代码可以直接调用.NET程序集(示例代码:使用C / CLI在本机C或C
中使用C#库)



