コード例 #1
0
 public void OnMethodInvoke(MethodInterceptionArgs args)
 {
     try
     {
         PropertyChangesTracker.PushOnStack(args.Instance);
         args.Proceed();
     }
     finally
     {
         PropertyChangesTracker.PopFromStack();
         PropertyChangesTracker.RaisePropertyChangedIfNeeded(args.Instance);
     }
 }
コード例 #2
0
        public void OnFieldSet(LocationInterceptionArgs args)
        {
            if (this.fieldValueComparer.AreEqual(args.LocationFullName, args.GetCurrentValue(), args.Value))
            {
                args.ProceedSetValue();
                return;
            }

            args.ProceedSetValue();


            this.childPropertyChangedProcessor.HandleFieldChange(args);

            PropertyChangesTracker.RaisePropertyChangedIfNeeded(args.Instance);
        }