这段代码创建了一个监视变量的机制,每当变量的值发生变化时,就会自动触发一个回调函数,执行一些额外的操作。

 

代码示例:

monitor := new VariableMonitor("OnVariableChange")

; 修改变量会自动触发回调
monitor.回调变量 := 10  ; 触发回调
monitor.回调变量 := 20  ; 再次触发回调

; MsgBox % monitor.回调变量

OnVariableChange(newValue) {
  MsgBox, 变量修改触发:%newValue%
}

class VariableMonitor {
  __New(changeCallback) {
    this._onChangeCallback := Func(changeCallback)
  }
  回调变量[] {
    get {
      return this._value
    }
    set {
      this._value := value
      , (this._onChangeCallback && this._onChangeCallback.Call(this._value))
      return this._value
    }
  }
}

 

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。