public override void Dispose()
 {
     if (WrappedLock.IsWriteLockHeld)
     {
         WrappedLock.ExitWriteLock();
     }
 }
示例#2
0
 public override void Dispose()
 {
     if (WrappedLock.IsUpgradeableReadLockHeld)
     {
         WrappedLock.ExitUpgradeableReadLock();
     }
 }
 public override void Dispose()
 {
     if (WrappedLock.IsReadLockHeld)
     {
         WrappedLock.ExitReadLock();
     }
 }
        public ObservableCollectionPlus(IEnumerable<T> collection)
        {
            m_roCollection = new ReadOnlyObservableCollection<T>(this);
            m_lock = new WrappedLock(BeforeMultiUpdate, unlock);

            // yes, crazy events are fired here. Who cares. No one can be listening. :-)
            collection.ForEach(item => base.Add(item));
        }
 protected override void Acquire()
 {
     WrappedLock.EnterWriteLock();
 }
示例#6
0
 protected override void Acquire()
 {
     WrappedLock.EnterUpgradeableReadLock();
 }
 public ObservableCollectionPlus(IEnumerable<T> collection)
     : base(collection)
 {
     m_roCollection = new ReadOnlyObservableCollection<T>(this);
     m_lock = new WrappedLock(BeforeMultiUpdate, finishMultiUpdate);
 }