public IDisposable Lock(TransLockFlag flag) { if (IsLock(TransLockFlag.Shutdown)) { throw new InvalidOperationException("already Shutdown AppContext"); } if (IsLock(flag)) { throw new InvalidOperationException("already locked:" + flag); } return(new LockState(this, flag)); }
public LockState(TransLock transLock, TransLockFlag flag) { m_TransLock = transLock; m_Flag = flag; }
public bool IsLock(TransLockFlag flag) => (m_Flag & flag) > 0;