/// <summary> /// Releases unmanaged and - optionally - managed resources. /// </summary> /// <param name="disposing"><see langword="true"/> to release both managed and unmanaged resources; /// <see langword="false"/> to release only unmanaged resources.</param> protected virtual void Dispose(bool disposing) { if (!disposing) { return; } _modules.Dispose(); }
/// <summary> /// Releases unmanaged and - optionally - managed resources. /// </summary> /// <param name="disposing"><see langword="true"/> to release both managed and unmanaged resources; /// <see langword="false"/> to release only unmanaged resources.</param> protected virtual void Dispose(bool disposing) { if (!disposing) { return; } _modules.Dispose(); var disposables = SharedItems.Values.OfType <IDisposable>(); SharedItems.Clear(); foreach (var disposable in disposables) { disposable.Dispose(); } }