Example #1
0
        private bool CheckShouldRemove(
            ValueAccess access,
            object instance,
            ValueChangeRequest buffer)
        {
            if (buffer.RequestProcessed && Equals(buffer.RequestedValue, buffer.LatestActualValue))
            {
                return(true);
            }

            object currentValue = access.Get(instance);

            if (Equals(currentValue, buffer.LatestActualValue))
            {
                return(false);
            }

            if (buffer.RequestProcessed)
            {
                return(true);
            }

            buffer.LatestActualValue = currentValue;
            return(false);
        }