c++到c#的事件处理

C++ to C# event handling

本文关键字:事件处理 c++      更新时间:2023-10-16

所以我有了我的 c# WinForm应用程序,从它我调用我的 c++ CLI MFC dll库。

但是在我的c++库中有一些事件,即使这些事件发生在这个库的本机(非cli)部分。我需要从我的c#应用程序中调用一些代码并在这个事件中获取一些数据。

所以当这个本地函数从客户端调用时:

bool __stdcall ClassName::WorkQuery()
{
         ......
        switch(pp->code)
        {
        case READCOMPLEX:
                       ..........

我需要把数据从c# ,所以我需要注册这个事件的某种方式

所以问题是你需要运行c#代码响应MFC事件(或c++回调),对吧?

为什么你不能直接注册一个本地处理程序到本地事件/回调,然后调用一个。net事件,它可以从c#中消费。

你可以从c++/CLI事件句柄中创建一个。net事件,然后本地使用它。只需使用EventWaitHandle或派生的AutoResetEvent和ManualResetEvent。