private T AddExpressionListener <T>(Func <T> expression)
        {
            recordingHandler = this;
            var result = expression.Invoke();

            recordingHandler = null;
            listenner        = null;
            return(result);
        }
 /// <summary>
 /// 绑定一个监听
 /// </summary>
 /// <param name="setter"> 回调</param>
 /// <returns></returns>
 public ObservableObjectHandler BindProperty(Action setter)
 {
     this.listenner   = setter;
     recordingHandler = this;
     setter.Invoke();
     listenner        = null;
     recordingHandler = null;
     return(this);
 }