コード例 #1
0
ファイル: LatchScope.cs プロジェクト: zuvys/Vicuna
        public void Dispose()
        {
            if (Interlocked.CompareExchange(ref _release, Released, UnReleased) == UnReleased)
            {
                switch (Flags)
                {
                case LatchFlags.Read:
                    Latch.ExitReadScope();
                    break;

                case LatchFlags.Write:
                    Latch.ExitWriteScope();
                    break;

                case LatchFlags.RWRead:
                    Latch.ExitReadWriteScope();
                    break;

                case LatchFlags.RWWrite:
                    Latch.ExitWriteScope();
                    Latch.ExitReadWriteScope();
                    break;
                }
            }
        }