【发布时间】:2015-02-25 09:42:14
【问题描述】:
我需要从原生 C/C++ .dll 异步调用 C# 代码。
在搜索如何做时,我发现我可以创建一个 C# 委托并从中获取一个函数指针,我将在我的本机代码中使用它。
问题是我的本机代码需要异步运行,即在从本机代码创建的单独线程中,这意味着从C#调用的本机代码将在委托之前返回C#被调用。
我在另一个 SO 问题中读到有人遇到了这个问题,尽管 MSDN 说了什么,因为他的委托在被调用之前就被垃圾收集了,因为他的任务是异步的。
我的问题是:使用在本地代码中创建的线程中运行的本地代码中的函数指针调用 C# 委托真的可行吗?谢谢。
【问题讨论】:
标签: c++ c asynchronous pinvoke native