如何将CLI类的函数指针作为参数传递给C++方法

How to Pass a function pointer of a CLI class to a C++ Method as argument

本文关键字:参数传递 方法 C++ 指针 函数 CLI      更新时间:2023-10-16

我需要实现一个类似于C++中C#的事件机制。

  1. C++类将引发一个事件
  2. CLI类将订阅C++类事件
  3. 然后CLI类将引发另一个事件
  4. C#类将订阅CLI事件

这就是我要寻找的逻辑。有什么机制可以做到这一点吗?

我试着传递函数指针。但它并没有像预期的那样工作

一般来说,我会说:是的。通过使用C++/CLI,您可以围绕引发事件的本机(C++(对象实现包装器。接下来,您可以捕获此事件并在C++/CLI包装器中生成托管(.Net(事件。最后,这个托管事件可以在您的C#应用程序中处理。这里有一个例子。

您可以实现如下。

  1. 从CLI向C++传递函数指针。以便通过从C++调用函数指针来执行CLI函数。

  2. 从CLI到C#,您可以使用CLI可用的普通C#事件。