#55: dispose disposable singletons and multitons when container is disposed

pull/57/head
Simon G 4 years ago
parent 3b11e24e7b
commit 6c55441514
  1. 13
      LightweightIocContainer/IocContainer.cs

@ -785,6 +785,19 @@ namespace LightweightIocContainer
public void Dispose() public void Dispose()
{ {
Registrations.Clear(); Registrations.Clear();
foreach (var singleton in _singletons)
{
if (singleton.instance is IDisposable disposable)
disposable.Dispose();
}
foreach (var multitonInstance in _multitons.SelectMany(multiton => multiton.instances))
{
if (multitonInstance.Value is IDisposable disposable)
disposable.Dispose();
}
_singletons.Clear(); _singletons.Clear();
_multitons.Clear(); _multitons.Clear();
} }

Loading…
Cancel
Save