예제 #1
0
        /// <summary>
        /// Clones the current property set with an optional mutator and then pushes it onto the stack
        /// </summary>
        /// <param name="mutator">Callback that can modify the cloned property set</param>
        public void PushPropertySet(Action <IPropertySet> mutator)
        {
            var newPropertySet = CurrentPropertySet.Clone();

            mutator?.Invoke(newPropertySet);
            _propertySetStack.Push(newPropertySet);
        }