cpp模仿CSharp事件機制(2) 任意數量參數支持

cpp模仿CSharp事件機制(2) 任意數量參數支持

  • githubpage 後續更新會快一些:https://puzzzzzzle.github.io
  • 上一篇中實現的只能在註冊事件時綁定自己的變量,無法在fireevents時傳遞參數,這次實現下

實現

  • 在這裏插入圖片描述
  • 原理很簡單,就是打一個參數包,fire event和註冊函數時,時同樣使用這個參數包
  • 但是不能用void來聲明變量,所以void版的需要特化下
  • 這同樣造成了不能使用一個完全抽象的接口來定義,所以就完全拆開了

使用方式

  • 在這裏插入圖片描述
  • 和之前的基本一致,聲明一個方法,然後註冊進去就好
  • 不過這次得額外聲明下需要的參數

void特化

  • 基類中不聲明fireEvent方法
  • 特化的時候再聲明
  • 在這裏插入圖片描述

源碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章