public override void Dispose() { if (WrappedLock.IsWriteLockHeld) { WrappedLock.ExitWriteLock(); } }
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(); }
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); }