读书人

C#DLL中回调函数兑现

发布时间: 2012-09-28 00:03:35 作者: rapoo

C#DLL中回调函数实现
请教各位:现在用C#封装了一个DLL,想在DLL运行的时候动态回传有关信息给调用的程序,比如打开了串口,下发了什么数据,接收了什么数据,都是在实时的回传,请问怎么实现,不是在C#里调用其他比如C写的DLL里有回调如何调用,而是C#自己的实现,谢谢了!

[解决办法]
http://www.cnblogs.com/cssmystyle/archive/2012/03/15/2397524.html
[解决办法]
不道,来听听。
INVOKE,也没有回调,委托好像也不行。
[解决办法]

探讨

不道,来听听。
INVOKE,也没有回调,委托好像也不行。

[解决办法]
使用事件或者委托。

[解决办法]
听起来就是Event.

类似


C# code
    public delegate void PortOpenedHander(object sender, EventArgs e);    类定义    {                public event PortOpenedHander PortOpened;        public void OpenPort()        {                        //打开端口                        //成功后            if (PortOpened != null)                PortOpened(this, new EventArgs());        }
[解决办法]
探讨
谢谢楼上各位回复习!我是这么想的,比如DLL本身里:
//send data to perial
//call sendMsg 就是想给调用它的程序发数据 sendMsg


而在调用它的程序里,可能是这样的:
callback(ref msg)
{
//接收到sendMsg
//根据数据及类型程序处理
}
而它应该是异步的,如果没有数据则不会进入……

读书人网 >C#

热点推荐