111,097
社区成员




[UnmanagedFunctionPointer(CallingConvention.StdCall)]
public delegate void CallBack([Out]sIteDataParam d);
public static CallBack c;
void init()
{
c = new CallBack(my_callback);
}
void my_callback([Out] sIteDataParam d)
{
//.......
}
也就是 我写了上面的代码之后 就表示我已经注册了这个回调函数.
我这个是跟硬件交互的代码,只要有人用硬件呼叫我的话就执行my_callback.
axLedOcx1_OnCall(null.null);
axLedOcx1_OnScore(null,null);
您还满意吗?
或者是说 楼主到底明白不明白"回调函数"这个东西的意义?
或者从别的角度上来说..这个函数是"被动"的...而不是你主动触发..
如果是调用方法 你直接写方法给参数就行了.
但是回调是封装起来,满足一定需求自动调用的函数..