public void Dispose()
 {
     if (_locked)
     {
         _lock?.WriteUpgradedUnlock();
         _locked = false;
     }
     _lock = null;
 }
 public void Dispose()
 {
     if (_locked)
     {
         _lock?.ReadUpgradableUnlock();
         _locked = false;
     }
     _lock = null;
 }
 internal UpgradedWriteLock(OcThreadLockUpgradableBase tl)
 {
     Debug.Assert(tl != null);
     _lock = tl;
 }