0%

cpp模仿CSharp事件机制(2)任意数量参数支持

cpp模仿CSharp事件机制(2) 任意数量参数支持

  • 上一篇中实现的只能在注册事件时绑定自己的变量,无法在fireevents时传递参数,这次实现下

实现

  • 原理很简单,就是打一个参数包,fire event和注册函数时,时同样使用这个参数包
  • 但是不能用void来声明变量,所以void版的需要特化下
  • 这同样造成了不能使用一个完全抽象的接口来定义,所以就完全拆开了

使用方式

  • 和之前的基本一致,声明一个方法,然后注册进去就好
  • 不过这次得额外声明下需要的参数

void特化

  • 基类中不声明fireEvent方法
  • 特化的时候再声明

源码