public IDisposable BatchUpdate()
        {
            Monitor.Enter(syncRoot);
            IDisposable disposable = underlyingCollection.BatchUpdate();

            return(new CallbackOnDispose(
                       delegate {
                try {
                    if (disposable != null)
                    {
                        disposable.Dispose();
                    }
                } finally {
                    Monitor.Exit(syncRoot);
                }
            }));
        }
Beispiel #2
0
 internal IDisposable ReportBatch()
 {
     return(projects.BatchUpdate());
 }