C#的委托机制的C++的一种实现DIY版

来源:互联网 发布:hadoop python 书籍 编辑:程序博客网 时间:2024/05/17 00:02

以下是C#的委托机制的的一个例子,不过只能支持非成员函数版

 

如果DDoEvent方法的返回值是空的情况下,无法通过编译,所以我又加了一个特化版的

 

下一个版本是成员函数版,其实只是封装了一下回调函数而已。

但是缺陷就是只实现一个函数的通知,不能实现跨类不同方法的通知

 

其实以上三个都没有做到C#的委托机制(跨类的成员函数全部响应)。

用模板实现C#的委托机制感觉对于目前的我来说还是太难了。

 

于是转了一帖:(转)C#的委托机制的C++的一种实现。

代码非常简练,保存了函数指针的类型和成员函数的地址

其核心代码是用汇编来实现调用。

收藏并学习之。

地址:http://blog.csdn.net/Last_Impression/archive/2009/10/19/4698948.aspx

原创粉丝点击