/// <summary> /// Initializes a new instance of the <see cref="SecurityBypassContext" /> class. /// </summary> /// <param name="bypassSecurity">if set to <c>true</c> security is bypassed otherwise security is enabled.</param> public SecurityBypassContext(bool bypassSecurity) { BypassSecurity = bypassSecurity; _parent = _current; _current = this; _isActive = bypassSecurity; }
/// <summary> /// Releases unmanaged and - optionally - managed resources. /// </summary> /// <param name="disposing"> /// <c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources. /// </param> // ReSharper disable UnusedParameter.Local private void Dispose(bool disposing) { if (!_disposed) { _current = _parent; if (_current == null) { _isActive = false; } else { _isActive = _current.BypassSecurity; } ///// // Dispose complete. ///// _disposed = true; } }