C++函数定义转C#问题

deterly 2013-09-26 02:04:41
这是C++头文件的函数定义,那转成C#该是如何呢?特别是第二个参数,转了半天都有Error

C++
libmosq_EXPORT void mosquitto_connect_callback_set(struct mosquitto *mosq, void (*on_connect)(struct mosquitto *, void *, int));

C#(我自己转的,不对)
private static extern void mosquitto_message_callback_set(IntPtr mosq, IntPtr(on_message)(IntPtr mosquitto, IntPtr, IntPtr mosquitto_message));

求教大师
...全文
114 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
deterly 2013-09-26
  • 打赏
  • 举报
回复
多谢两位大侠!
宝_爸 2013-09-26
  • 打赏
  • 举报
回复
用Delegate.下面的例子来自msdn: C++ typedef void (__stdcall *PFN_MYCALLBACK)(); int __stdcall MyFunction(PFN_ MYCALLBACK callback); C# public delegate void MyCallback(); [DllImport("MYDLL.DLL")] public static extern void MyFunction(MyCallback callback); msdn链接:http://msdn.microsoft.com/en-us/library/aa288468(v=vs.71).aspx
threenewbee 2013-09-26
  • 打赏
  • 举报
回复
函数指针,你应该定义成委托: void delegate on_connectDelegate(mosquitto mosq, IntPtr p, int i); void mosquitto_connect_callback_set(mosquitto mosq, on_connectDelegate);

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧