因此,我得到了我的C# WinForm应用程序,从它我调用了我的C++ CLI 库。
但是在我的库中有一些事件,甚至这个事件发生在这个库的本机(非CLI)部分。我需要从我的C#应用程序中调用一些代码,并获取一些数据,也许就在那里。
因此,当从客户端调用此本机函数时:
bool __stdcall ClassName::WorkQuery()
{
......
switch(pp->code)
{
case READCOMPLEX:
..........我需要从C# 中获取数据,所以我需要以某种方式将其注册为事件。
发布于 2011-09-30 10:48:57
所以问题是您需要运行C#代码来响应MFC事件(或C++回调),对吗?
为什么不能将本机处理程序注册到本机事件/回调,然后调用.NET事件,这可以是从C#消耗的事件。
发布于 2011-09-30 10:47:05
您可以从C++/CLI事件句柄创建一个.NET事件,然后本机使用它。只需使用EventWaitHandle或派生的AutoResetEvent和ManualResetEvent。
https://stackoverflow.com/questions/7609225
复制相似问题