コード例 #1
0
 public void RejectChanges()
 {
     AddedItems.ToList().ForEach(i => _WrappedTarget.Remove(i));
     foreach (var item in _WrappedTarget.Cast <IChangeTrackable <T> >())
     {
         item.RejectChanges();
     }
     foreach (var item in _DeletedItems)
     {
         ((System.ComponentModel.IRevertibleChangeTracking)item).RejectChanges();
         _WrappedTarget.Add(item);
     }
     _DeletedItems.Clear();
 }
 private void RejectChanges(object proxy, List <object> parents)
 {
     AddedItems.ToList().ForEach(i => _WrappedTarget.Remove(i));
     parents = parents ?? new List <object>(20)
     {
         proxy
     };
     foreach (var item in _WrappedTarget.Cast <IRevertibleChangeTrackingInternal>())
     {
         item.RejectChanges(parents);
     }
     foreach (var item in _DeletedItems)
     {
         ((IRevertibleChangeTrackingInternal)item).RejectChanges(parents);
         _WrappedTarget.Add(item);
     }
     _DeletedItems.Clear();
 }