从C ++ DLL调用C#函数

时间:2012-03-04 05:09:04

标签: c# c++ function variables dll

我有一个用C ++编写的DLL,我想将C#函数传递给C ++ DLL中的函数,并从C ++调用C#函数。我该怎么做?在此先感谢,请保持简单的答案。我认为我不需要为此发布代码示例,但如果您需要,请询问。

1 个答案:

答案 0 :(得分:4)

通常有两种方法可以实现此目的:COM Interop和Reverse PInvoke。如果你通过行为传递很多对象,那么COM互操作可能是你最好的选择。虽然这听起来像你只是试图通过一个单一的功能。如果是这样,那么Reverse PInvoke就是你想要的。

这是一个很好的关于这个主题的教程

基本过程与普通的PInvoke非常相似。

  • 定义一个至少带有一个函数指针的本机入口点
  • 将本机指针定义为托管代码中的委托
  • 将代表通过入口点

现在可以将其作为本机代码中的普通函数指针调用