日期:2014-05-18  浏览次数:20814 次

C#的对象和C++动态库里的对象如何建立双向的对应关系?
C#调用C++,可以使用下面方法。
C#的对象记录一个IntPtr m_cppObjPtr;调用的C++的静态包装函数时,传递过去即可。

反过来
在C++调用到C#的回调函数(也是一个静态包装函数)里如何找到对应的C#对象?

望做个的朋友提供点思路,不胜感激!


------解决方案--------------------
既然在C#里,就跟是否是通过C++调用关系不大了,用C#的方式就行了啊。例如可用一个静态的链表、键值对容器或其它数据结构储存实例的引用,再进行查找
还要指出的是,C#回调函数不是必须是静态函数,它还可以是实例成员函数!