| 1234567891011121314151617181920212223242526272829303132333435 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- namespace GreenTree.Nachtragsmanagement.Core.ComponentModel
- {
- /// <summary>
- /// Provides a convenience methodology for implementing locked access to resources.
- /// </summary>
- /// <remarks>
- /// Intended as an infrastructure class.
- /// </remarks>
- public class WriteLockDisposable : IDisposable
- {
- private readonly ReaderWriterLockSlim _rwLock;
- /// <summary>
- /// Initializes a new instance of the <see cref="WriteLockDisposable"/> class.
- /// </summary>
- /// <param name="rwLock">The rw lock.</param>
- public WriteLockDisposable(ReaderWriterLockSlim rwLock)
- {
- _rwLock = rwLock;
- _rwLock.EnterWriteLock();
- }
- void IDisposable.Dispose()
- {
- _rwLock.ExitWriteLock();
- }
- }
- }
|