コード例 #1
0
        protected override void BeforeDelete()
        {
            base.BeforeDelete();

            if (RangeChanged != null)
            {
                foreach (var handler in RangeChanged.GetInvocationList())
                {
                    RangeChanged -= (StorageChanged)handler;
                }
            }

            if (Storage != null && !Storage.Shared && !(this is MyVoxelPhysics))
            {
                Storage.Close();
            }
        }
コード例 #2
0
        public virtual void CloseInternal()
        {
            using (m_lock.AcquireExclusiveUsing())
            {
                Closed = true;
                if (RangeChanged != null)
                {
                    foreach (var handler in RangeChanged.GetInvocationList())
                    {
                        RangeChanged -= (RangeChangedDelegate)handler;
                    }
                }

                if (DataProvider != null)
                {
                    DataProvider.Close();
                }
            }
        }
コード例 #3
0
        public virtual void CloseInternal()
        {
            using (m_storageLock.AcquireExclusiveUsing())
            {
                Closed = true;
                if (RangeChanged != null)
                {
                    foreach (var handler in RangeChanged.GetInvocationList())
                    {
                        RangeChanged -= (RangeChangedDelegate)handler;
                    }
                }

                if (DataProvider != null)
                {
                    DataProvider.Close();
                }
            }

            if (CachedWrites)
            {
                OperationsComponent.Remove(this);
            }
        }