/// <summary> /// Disposes this instance. /// </summary> public void Dispose() { var context = _context.TryGetAndUnset(); if (context == null) { _slim.Wait(); return; } try { context.Invoke(); } finally { _slim.Set(); } }
/// <summary> /// On Dispose /// </summary> protected override void OnDispose() { var context = _context.TryGetAndUnset(); if (context == null) { _slim.Wait(); return; } try { context.Invoke(); } finally { _slim.Set(); } }
/// <summary> /// On Dispose /// </summary> protected override void OnDispose() => _context.TryGetAndUnset()?.Invoke();
/// <summary> /// Disposes this instance. /// </summary> public void Dispose() => _context.TryGetAndUnset()?.Invoke();